????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.191.37.16 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-- Closure 038: Rebinding closures, change scope, different runtime type --FILE-- <?php class A { private $x; public function __construct($v) { $this->x = $v; } public function getIncrementor() { return function() { return ++$this->x; }; } } class B extends A { private $x; public function __construct($v) { parent::__construct($v); $this->x = $v*2; } } $a = new A(0); $b = new B(10); $ca = $a->getIncrementor(); var_dump($ca()); echo "Testing with scope given as object", "\n"; $cb = $ca->bindTo($b, $b); $cb2 = Closure::bind($ca, $b, $b); var_dump($cb()); var_dump($cb2()); echo "Testing with scope as string", "\n"; $cb = $ca->bindTo($b, 'B'); $cb2 = Closure::bind($ca, $b, 'B'); var_dump($cb()); var_dump($cb2()); $cb = $ca->bindTo($b, NULL); var_dump($cb()); ?> --EXPECTF-- int(1) Testing with scope given as object int(21) int(22) Testing with scope as string int(23) int(24) Fatal error: Cannot access private property B::$x in %s on line %d