PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

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!