1. 程式人生 > 實用技巧 >PHP類檢查相關函式

PHP類檢查相關函式

例程:
namespace test;
class abc{
public static $a =1;
private function ab()
{
echo 'ab';
}
public function cd()
{
echo 'cd';
}
}
class hi extends abc
{

}


1、get_class_methods
print_r(get_class_methods('test\abc')); 
輸出:

  Array
  (
    [0] => cd
  )

因為 ab 方法為private所以不會輸出

2、get_class_vars

print_r(get_class_vars('test\abc'));
輸出:

Array
(
[a] => 1
)

因為 $b 屬性為private所以不會輸出

3、is_callable

var_dump(is_callable(['test\abc','ab']));  //bool(false)  私有方法不可call
var_dump(is_callable(['test\abc','cd']));//bool(true) 公有方法可call

var_dump(is_callable([$o,'cd']));// bool(true) //可以用來檢查類或物件

4、get_parent_class
print_r(get_parent_class('test\hi')); //  test\abc


5、instanceof
var_dump( $o instanceof abc);


6、類::class
var_dump(abc::class);//  test\abc


7、is_subclass_of
var_dump(is_subclass_of('test\hi','test\abc'));//bool(true)


8、get_parent_class
echo get_parent_class('test\hi');//test\abc