ID:               42302
 Updated by:       [EMAIL PROTECTED]
 Reported By:      brent dot hansen at gmail dot com
 Status:           Open
-Bug Type:         Scripting Engine problem
+Bug Type:         Documentation problem
 Operating System: XP
 PHP Version:      5.2.4RC1
 New Comment:

Reclassified.


Previous Comments:
------------------------------------------------------------------------

[2007-08-14 21:27:23] brent dot hansen at gmail dot com

Description:
------------
This could also be a poor documentation issue.

http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php
(aka Scope Resolution Operator ::) states that "When an extending class
overrides the parents definition of a method, PHP will not call the
parent's method. It's up to the extended class on whether or not the
parent's method is called. This also applies to Constructors and
Destructors, Overloading, and Magic method definitions."

leading to the conclusion that magic methods (e.g., __call) are
available as class::_somefunction()

if this is just a documentation error please correct all instances of
"class" with "object".


Reproduce code:
---------------
class sometest {
  function __call($method, $arguments) {
    echo $method;
  }
}

// Test #1
$mytest = new sometest;
$mytest->dont_die();
// Test #2
sometest::dont_die();




Expected result:
----------------
// Test #1
dont_die

// Test #2
dont_die

Actual result:
--------------
// Test #1
dont_die

// Test #2
Fatal error: Call to undefined method testclass::dont_die()


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=42302&edit=1

Reply via email to