使用PHP获取对象的函数和变量
使用PHP函数get_class_methods()和,可以在运行时从对象中找出可用的函数和变量get_object_vars()。
采取以下名为testClass的类。
class testClass { public $publicVariable = 'value1'; private $privateVariable = 'value2'; public function testClass() { } public function aPublicFunction() { } private function aPrivateFunction() { } }
要查找该类中可用的功能,可以使用functionget_class_methods()。这可以将类名作为字符串或对象的实例。以下代码将打印出该类中的所有函数。
$obj = new testClass(); $output = ''; foreach(get_class_methods($obj) as $function){ $output .= '
'; echo $output;- '.$function.'
'; } $output .= '
这将打印出以下内容。
测试类
公共功能
该功能将仅提供类或对象中的公共可用功能,而不仅仅是所有可用功能的列表。
要打印出对象的变量,可以使用get_object_vars()函数,此处的参数是要测试的对象的实例。get_class_vars()如果要使用类名,而不是在测试之前实例化一个对象,则可以使用另一个调用的函数。以下代码将打印出从类testClass创建的对象中的所有变量。
$obj = new testClass(); $output = ''; foreach(get_object_vars($obj) as $key=>$var){ $output .= '
'; echo $output;- '.$key.' '.$var.'
'; } $output .= '
这将打印出以下内容。
publicVariablevalue1
键是变量名,值是该变量的值。该函数只会为您提供有关公共变量的信息。
可以从类或对象中获取所有函数和变量,但是您必须使用PHPReflectionAPI才能做到这一点。