????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.139.234.41 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/Zend/tests/ |
Upload File : |
--TEST-- Calling method from array --FILE-- <?php class Hello { public function world($x) { echo "Hello, $x\n"; return $this; } } class Hello2 { static public function world($x) { echo "Hello, $x\n"; } } class Magic { public function __call($f, $a) { printf("%s called (%s)!\n", __METHOD__, $f); } } class Magic2 { public static function __callStatic($f, $a) { printf("%s called (%s)!\n", __METHOD__, $f); } } class Magic3 { public static function __callStatic($f, $a) { printf("%s called (%s)!\n", __METHOD__, $f); } public function __call($f, $a) { printf("%s called (%s)!\n", __METHOD__, $f); } } $f = array('Hello','world'); var_dump($f('you')); var_dump(call_user_func($f, 'you')); printf("-----\n"); $h= new Hello; $f = array($h,'world'); var_dump($f('again')); var_dump(call_user_func($f, 'again')); printf("-----\n"); function bar() { return array(new Hello,'world'); } $f = bar(); var_dump($f('there')); var_dump(call_user_func($f, 'there')); printf("-----\n"); $x = function ($c,$v) { return array($c, $v); }; $c = new Hello; $m = 'world'; $f = $x($c, $m); var_dump($f('devs')); var_dump(call_user_func($f, 'devs')); printf("-----\n"); $f = array(new Magic, 'foo'); $f(); call_user_func($f); printf("-----\n"); $f = array('Magic2', 'foo'); $f(); call_user_func($f); printf("-----\n"); $f = array('Magic3', 'foo'); $f(); call_user_func($f); printf("-----\n"); $f = array(new Magic3, 'foo'); $f(); call_user_func($f); printf("-----\n"); $f = array(new Hello2, 'world'); var_dump($f('you')); var_dump(call_user_func($f, 'you')); ?> --EXPECTF-- Strict Standards: Non-static method Hello::world() should not be called statically in %s on line %d Hello, you Notice: Undefined variable: this in %s on line %d NULL Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method Hello::world() should not be called statically in %s on line %d Hello, you Notice: Undefined variable: this in %s on line %d NULL ----- Hello, again object(Hello)#1 (0) { } Hello, again object(Hello)#1 (0) { } ----- Hello, there object(Hello)#2 (0) { } Hello, there object(Hello)#2 (0) { } ----- Hello, devs object(Hello)#4 (0) { } Hello, devs object(Hello)#4 (0) { } ----- Magic::__call called (foo)! Magic::__call called (foo)! ----- Magic2::__callStatic called (foo)! Magic2::__callStatic called (foo)! ----- Magic3::__callStatic called (foo)! Magic3::__callStatic called (foo)! ----- Magic3::__call called (foo)! Magic3::__call called (foo)! ----- Hello, you NULL Hello, you NULL