????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.148.212.53 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/tests/classes/ |
Upload File : |
--TEST-- ZE2 factory and singleton, test 1 --SKIPIF-- <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> --FILE-- <?php class test { protected $x; static private $test = NULL; static private $cnt = 0; static function factory($x) { if (test::$test) { return test::$test; } else { test::$test = new test($x); return test::$test; } } protected function __construct($x) { test::$cnt++; $this->x = $x; } static function destroy() { test::$test = NULL; } protected function __destruct() { test::$cnt--; } public function get() { return $this->x; } static public function getX() { if (test::$test) { return test::$test->x; } else { return NULL; } } static public function count() { return test::$cnt; } } echo "Access static members\n"; var_dump(test::getX()); var_dump(test::count()); echo "Create x and y\n"; $x = test::factory(1); $y = test::factory(2); var_dump(test::getX()); var_dump(test::count()); var_dump($x->get()); var_dump($y->get()); echo "Destruct x\n"; $x = NULL; var_dump(test::getX()); var_dump(test::count()); var_dump($y->get()); echo "Destruct y\n"; $y = NULL; var_dump(test::getX()); var_dump(test::count()); echo "Destruct static\n"; test::destroy(); var_dump(test::getX()); var_dump(test::count()); echo "Done\n"; ?> --EXPECT-- Access static members NULL int(0) Create x and y int(1) int(1) int(1) int(1) Destruct x int(1) int(1) int(1) Destruct y int(1) int(1) Destruct static NULL int(0) Done