Home » PEAR » PEAR » Bug #936
throwError() treats every call as static
Details
| Submitted | 2004-03-03 10:54 UTC |
|---|---|
| From | markus dot kalkbrenner at arcor dot de |
| Status | Duplicate |
| Package | PEAR |
| PHP Version | Irrelevant |
| OS | Irrelevant |
| Roadmaps | (Not assigned) |
Comments
[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
[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!