PHP基础语法学习要点6
常用的类、对象的函数
-
class_exists()
,检查类是否存在,存在返回true,不存在返回false。<?php class MyClass { } //var_dump(class_exists('MyClass')); //var_dump(class_exists('MyClass1')); var_dump(class_exists('myclass'));//因为类名不区分大小写。
-
method_exists($object,$methodName)
检查某个方法是否存在。
<?php class MyClass { public function a() { } private function b() { } protected function c() { } } //$mP = new MyClass(); //var_dump(method_exists($mP, 'b')); var_dump(method_exists('MyClass', 'c'));//不光实例化出来的对象可以实际上类名也是可以的。
-
property_exists($class, $propertyName)
,检查对象或类是否有该属性。注意:私有、公有、受保护的都可以判断出来。
<?php class MyClass { private $a; protected $b; public $c; } $mC = new MyClass(); //var_dump(property_exists($mC, 'd')); var_dump(property_exists('MyClass', 'a'));
-
get_class_methods($className)
,返回类的公有的方法名组成的数组。注意:
$className
可以是类名也可以是对象名。<?php class MyClass { public function a() { } private function b() { } protected function c() { } } echo '<Pre>'; var_dump(get_class_methods('MyClass')); echo '</Pre>'; $m = new MyClass(); echo '<Pre>'; var_dump(get_class_methods($m)); echo '</Pre>';
-
get_class_vars($className)
,返回类的公有的属性组成的数组 -
get_object_vars()
,返回对象公有的属性组成的数组。<?php class MyClass { public $a; protected $b; private $c; } var_dumP(get_class_vars('myClass')); echo '<hr />'; $nClass = new MyClass(); $nClass -> abc = 'xxoo'; var_dumP(get_object_vars($nClass)); //他们两个的不同点在于`get_class_vars`只能获得类定义的时候定义的公有的属性。 //get_object_vars也能够获得类定义的时候定义的公有的属性,但是也能获得在实例化后手动添加到对象中的属性。(手动添加到对象中的属性他的访问控制关键字是public)
-
get_class($obj)
,返回对象的类名(该函数最后得到一个字符串,这个字符串是类的名字)<?php class MyClass { public $a; protected $b; private $c; } $nClass = new MyClass(); var_dump(get_class($nClass));
-
返回已经定义的类的名字组成的数组
get_declared_classes()