Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.10.18

Bug #936 throwError() treats every call as static
Submitted: 2004-03-03 10:54 UTC
From: markus dot kalkbrenner at arcor dot de Assigned:
Status: Duplicate Package: PEAR
PHP Version: Irrelevant OS: Irrelevant
Roadmaps: (Not assigned)    
Subscription  


 [2004-03-03 10:54 UTC] markus dot kalkbrenner at arcor dot de
Description: ------------ The method throwError() of class PEAR treats every call as static one because the check if $this is a subclass of PEAR_Error is always false. Here's a patch: --- PEAR_original.php 2004-02-09 10:03:10.000000000 +0100 +++ PEAR.php 2004-03-03 11:52:50.000000000 +0100 @@ -549,7 +549,7 @@ $code = null, $userinfo = null) { - if (isset($this) && is_subclass_of($this, 'PEAR_Error')) { + if (isset($this) && is_a($this, 'PEAR')) { return $this->raiseError($message, $code, null, null, $userinfo); } else { return PEAR::raiseError($message, $code, null, null, $userinfo); Note: The patch doesn't resolve the basic problem of how to detect static calls to a function / method but is compatible to the rest of PEAR.php. See http://pear.php.net/bugs/bug.php?id=744&thanks=3 Markus Kalkbrenner

Comments

 [2004-03-03 11:09 UTC] markus dot kalkbrenner at arcor dot de
I posted this bug as Bus System related one. Sorry! I posted it again here: http://pear.php.net/bugs/bug.php?id=937 I'll mark this one as Duplicate. Sorry again!