#18926 [Bgs->Opn]: __construct() blocks use of __get() in parent
| From: | tater at potatoe dot com | Date: | Mon, 28 Oct 2002 21:48:43 +0000 |
| Subject: | #18926 [Bgs->Opn]: __construct() blocks use of __get() in parent | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-23600@lists.php.net to get a copy of this message | ||
ID: 18926
User updated by: tater@potatoe.com
-Summary: call_user_func_array does not mirror normal scope
inside class functions
Reported By: tater@potatoe.com
-Status: Bogus
+Status: Open
Bug Type: Scripting Engine problem
-Operating System: Mac OS X 10.1.5 / Darwin 5.5
+Operating System: OS X 10.1
-PHP Version: 4CVS-2002-08-15
+PHP Version: 4CVS-2002-10-26
New Comment:
Still doesn't work on ZE2.
Previous Comments:
------------------------------------------------------------------------
[2002-10-28 15:46:45] tater@potatoe.com
If this is not a bug, then how exactly is one supposed to be able to
make the function call
self::method($a,$b,$etc)
using call_user_func_array()??? or is that not supported? because this
still doesn't work. a word or two of explanation would be polite.
------------------------------------------------------------------------
[2002-10-28 14:10:29] sterling@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
------------------------------------------------------------------------
[2002-08-15 21:09:04] tater@potatoe.com
presuming ZE == ZE1.3.0, this is on a vanilla build from CVS
(just checked it out, ran buildconf, then configure w/o options):
<?php
class foo { function from_foo($p) { echo "i am from foo: $p\n"; } }
class bar extends foo {
function test() {
foo::from_foo('foo::from_foo');
call_user_func(
array('foo','from_foo')
,'call_user_func(array(foo,from_foo))'
);
parent::from_foo('parent::from_foo');
call_user_func(
array('parent','from_foo')
,'call_user_func(array(parent,from_foo))'
);
}
}
error_reporting(E_ALL);
bar::test();
?>
gives you:
# sapi/cli/php -v
PHP 4.3.0-dev (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies
# sapi/cli/php ctest.php
i am from foo: foo::from_foo
i am from foo: call_user_func(array(foo,from_foo))
i am from foo: parent::from_foo
Warning: call_user_func(): First argumented is expected to be a valid
callback, 'parent::from_foo' was given in ctest.php on line 14
------------------------------------------------------------------------
[2002-08-15 20:40:37] kalowsky@php.net
can you please give a ZE example?
------------------------------------------------------------------------
[2002-08-15 20:26:30] tater@potatoe.com
You see the same behavior with PHP 4.3.0-dev and ZE1.3 for 'parent'.
Calls to 'self' and the change in function name scope are ZE2 only
features anyway (I think).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/18926
--
Edit this bug report at http://bugs.php.net/?id=18926&edit=1