ID:               28189
 User updated by:  hrvinnie at yahoo dot com
 Reported By:      hrvinnie at yahoo dot com
 Status:           Bogus
 Bug Type:         Unknown/Other Function
 Operating System: Debian Kernel 2.2.20-idepci
 PHP Version:      5.0.0RC2
 New Comment:

o then this behavior is new for PHP5?

I ask becuase while the online manual seems slient on invocation by
class name, the examples, behavior of PHP4, and the 3rd Edition (for
PHP5) of Core PHP by Zeev Suraski and Leon Atkinson seem to allow
invocation by class name instead of instance.  

The books Listing 11.78 actually uses a call by class name.  There is
no indication in the eratta this was not the case.


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

[2004-04-27 21:18:21] [EMAIL PROTECTED]

This is not a bug, the error message here is totally correct as there
is no instance of this class in your script, so you can't access $this
here.

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

[2004-04-27 20:37:58] hrvinnie at yahoo dot com

Description:
------------
PHP4 allowed one to call a function using call_user_func by passing in
an array containing the class name and function name as strings.  

In PHP5RC1 and PHP5RC2, I have found the function is getting called. 
However, using $this-> within the function triggers a fetal error.

My appologies, I was not sure what the best "Type" for this was, or if
I'm crazy and doing something bone head wrong.

Reproduce code:
---------------
        class test_call_user_func

        {
                var $created = "false";
                
                function __construct()
                {
                        $this->created = "true";
                }
                
                function isCreated()
                {
                        $ret = $this->created;
                        return $ret;
                }
                
        }

        $function = array('test_call_user_func', 'isCreated');
        print ("I have a return of isCreated [" . call_user_func($function) .
"]"  ); 
        

Expected result:
----------------
I have a return of isCreated [true]


Actual result:
--------------
Fatal error: Using $this when not in object context in
/home/vfabello/workspace/loki/root/test3.php on line 16



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


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

Reply via email to