????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.217.210.224 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/reflection/tests/ |
Upload File : |
--TEST-- ReflectionMethod::invokeArgs() further errors --FILE-- <?php class TestClass { public $prop = 2; public function foo() { echo "Called foo(), property = $this->prop\n"; var_dump($this); return "Return Val"; } public static function staticMethod() { echo "Called staticMethod()\n"; var_dump($this); } private static function privateMethod() { echo "Called privateMethod()\n"; } } abstract class AbstractClass { abstract function foo(); } $testClassInstance = new TestClass(); $testClassInstance->prop = "Hello"; $foo = new ReflectionMethod($testClassInstance, 'foo'); $staticMethod = new ReflectionMethod('TestClass::staticMethod'); $privateMethod = new ReflectionMethod("TestClass::privateMethod"); echo "Wrong number of parameters:\n"; var_dump($foo->invokeArgs()); var_dump($foo->invokeArgs(true)); echo "\nNon-instance:\n"; try { var_dump($foo->invokeArgs(new stdClass(), array())); } catch (ReflectionException $e) { var_dump($e->getMessage()); } echo "\nNon-object:\n"; var_dump($foo->invokeArgs(true, array())); echo "\nStatic method:\n"; var_dump($staticMethod->invokeArgs()); var_dump($staticMethod->invokeArgs(true)); var_dump($staticMethod->invokeArgs(true, array())); var_dump($staticMethod->invokeArgs(null, array())); echo "\nPrivate method:\n"; try { var_dump($privateMethod->invokeArgs($testClassInstance, array())); } catch (ReflectionException $e) { var_dump($e->getMessage()); } echo "\nAbstract method:\n"; $abstractMethod = new ReflectionMethod("AbstractClass::foo"); try { $abstractMethod->invokeArgs($testClassInstance, array()); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { $abstractMethod->invokeArgs(true); } catch (ReflectionException $e) { var_dump($e->getMessage()); } ?> --EXPECTF-- Wrong number of parameters: Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 0 given in %s on line %d NULL Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 1 given in %s on line %d NULL Non-instance: string(72) "Given object is not an instance of the class this method was declared in" Non-object: Warning: ReflectionMethod::invokeArgs() expects parameter 1 to be object, boolean given in %s on line %d NULL Static method: Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 0 given in %s on line %d NULL Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 1 given in %s on line %d NULL Warning: ReflectionMethod::invokeArgs() expects parameter 1 to be object, boolean given in %s on line %d NULL Called staticMethod() Notice: Undefined variable: this in %s on line %d NULL NULL Private method: string(86) "Trying to invoke private method TestClass::privateMethod() from scope ReflectionMethod" Abstract method: string(53) "Trying to invoke abstract method AbstractClass::foo()" Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 1 given in %s on line %d