????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.216.45.133 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/ext/spl/tests/ |
Upload File : |
--TEST-- SPL: spl_autoload() with inaccessible methods --INI-- include_path=. --FILE-- <?php class MyAutoLoader { static protected function noAccess($className) { echo __METHOD__ . "($className)\n"; } static function autoLoad($className) { echo __METHOD__ . "($className)\n"; } function dynaLoad($className) { echo __METHOD__ . "($className)\n"; } } $obj = new MyAutoLoader; $funcs = array( 'MyAutoLoader::notExist', 'MyAutoLoader::noAccess', 'MyAutoLoader::autoLoad', 'MyAutoLoader::dynaLoad', array('MyAutoLoader', 'notExist'), array('MyAutoLoader', 'noAccess'), array('MyAutoLoader', 'autoLoad'), array('MyAutoLoader', 'dynaLoad'), array($obj, 'notExist'), array($obj, 'noAccess'), array($obj, 'autoLoad'), array($obj, 'dynaLoad'), ); foreach($funcs as $idx => $func) { if ($idx) echo "\n"; try { var_dump($func); spl_autoload_register($func); echo "ok\n"; } catch (Exception $e) { echo $e->getMessage() . "\n"; } } ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- string(22) "MyAutoLoader::notExist" Function 'MyAutoLoader::notExist' not found (class 'MyAutoLoader' does not have a method 'notExist') string(22) "MyAutoLoader::noAccess" Function 'MyAutoLoader::noAccess' not callable (cannot access protected method MyAutoLoader::noAccess()) string(22) "MyAutoLoader::autoLoad" ok string(22) "MyAutoLoader::dynaLoad" Function 'MyAutoLoader::dynaLoad' not callable (non-static method MyAutoLoader::dynaLoad() should not be called statically) array(2) { [0]=> string(12) "MyAutoLoader" [1]=> string(8) "notExist" } Passed array does not specify an existing static method (class 'MyAutoLoader' does not have a method 'notExist') array(2) { [0]=> string(12) "MyAutoLoader" [1]=> string(8) "noAccess" } Passed array does not specify a callable static method (cannot access protected method MyAutoLoader::noAccess()) array(2) { [0]=> string(12) "MyAutoLoader" [1]=> string(8) "autoLoad" } ok array(2) { [0]=> string(12) "MyAutoLoader" [1]=> string(8) "dynaLoad" } Passed array specifies a non static method but no object (non-static method MyAutoLoader::dynaLoad() should not be called statically) array(2) { [0]=> object(MyAutoLoader)#%d (0) { } [1]=> string(8) "notExist" } Passed array does not specify an existing method (class 'MyAutoLoader' does not have a method 'notExist') array(2) { [0]=> object(MyAutoLoader)#%d (0) { } [1]=> string(8) "noAccess" } Passed array does not specify a callable method (cannot access protected method MyAutoLoader::noAccess()) array(2) { [0]=> object(MyAutoLoader)#%d (0) { } [1]=> string(8) "autoLoad" } ok array(2) { [0]=> object(MyAutoLoader)#%d (0) { } [1]=> string(8) "dynaLoad" } ok ===DONE===