PEAR is archived and read-only

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

Home » PEAR » PEAR » Bug #937

throwError() treats every call as static

Details

Submitted2004-03-03 11:06 UTC
Frommarkus dot kalkbrenner at arcor dot de
Assignedcellog
StatusClosed
PackagePEAR
PHP VersionIrrelevant
OSIrrelevant
Roadmaps(Not assigned)

Comments

[2004-03-03 11:06 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