ID: 11226
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: Scripting Engine problem
Operating system: Linux 2.4.2 (Redhat Linux 7.1)
PHP Version: 4.0.4pl1
Description: Unable to reference functions inside a class via "Variable Funcitons"

I modified the code like this:

<?

function xyz() {

        echo "This always works";
}

class test {

        function testfunc() {

                echo "This now works";
        }

        function calltest() {

                $function_name = 'test::testfunc';

                $function_name();

        }
}

$t = new test;
$t->calltest();

?>

I got the exact same error.  I just don't think it can find functions inside a class.

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

[2001-06-18 10:16:18] [EMAIL PROTECTED]
i do believe you need to declare the function testfunc() BEFORE you try to reference 
it.  try that and see if it works.

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

[2001-05-31 18:32:36] [EMAIL PROTECTED]
When I run this script I get this error message:

Fatal error: Call to undefined function: test::testfunc() in
/var/www/html/database/classes/Authenticator/test.php on line 9

I can execute the function by using test::testfunc();
directly, but not by using "Variable Functions".  I can also
change $function_name to be 'xyz' and it then works.

<?

class test {

        function calltest() {

                $function_name = 'test::testfunc';

                $function_name();

        }

        function testfunc() {

                echo "This now worksn";

        }
}

function xyz() {

        echo "This always worksn";
}

$t = new test;
$t->calltest();

?>


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


Full Bug description available at: http://bugs.php.net/?id=11226


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to