PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » PEAR » PEAR » Bug #936

throwError() treats every call as static

Details

Submitted2004-03-03 10:54 UTC
Frommarkus dot kalkbrenner at arcor dot de
StatusDuplicate
PackagePEAR
PHP VersionIrrelevant
OSIrrelevant
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!