[PHP]獲取靜態方法呼叫者的類名和運用call_user_func_array代入物件作用域
阿新 • • 發佈:2018-11-22
一、獲取靜態方法呼叫者的類名
方法一: class foo { static public function test() { var_dump(get_called_class()); } } class bar extends foo { } foo::test(); bar::test(); 輸出: string(3) "foo" string(3) "bar" 方法二: class Bar { public static function test() { var_dump(static::class); } } class Foo extends Bar { } Foo::test(); Bar::test(); Output: string(3) "Foo" string(3) "Bar"
二、運用call_user_func_array代入物件作用域
<?php function foobar ( $arg , $arg2 ) { echo __FUNCTION__ , " got $arg and $arg2 \n" ; } class foo { function bar ( $arg , $arg2) { echo __METHOD__ , " got $arg and $arg2 \n" ; } } // Call the foobar() function with 2 arguments call_user_func_array ( "foobar" , array( "one" , "two" )); // Call the $foo->bar() method with 2 arguments $foo = new foo ; call_user_func_array (array( $foo , "bar" ), array( "three" , "four" )); ?>