加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php类与对象的函数一

发布时间:2020-12-13 01:59:20 所属栏目:PHP教程 来源:网络整理
导读:《php类与对象的函数一》要点: 本文介绍了php类与对象的函数一,希望对您有用。如果有疑问,可以联系我们。 欢迎参与《php类与对象的函数一》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 class_exists()检查类是否已定义 格式bool class_exists

《php类与对象的函数一》要点:
本文介绍了php类与对象的函数一,希望对您有用。如果有疑问,可以联系我们。

欢迎参与《php类与对象的函数一》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

php类与对象的函数一

class_exists()检查类是否已定义

格式bool class_exists(str $class_name[,bool $autoload])

5.0.2版后,不再为已定义的接口返回TRUE.请使用interface_exists().如:

if (!class_exists($class,false)) {

trigger_error("Unable to load class: $class",E_USER_WARNING);

}

get_class()返回对象的类名

格式string get_class([object $obj])

abstract class bar {

public function __construct(){

var_dump(get_class($this));

var_dump(get_class());

}

}

class foo extends bar {}

new foo;

输出:

string(3) "foo"

string(3) "bar"

get_class_methods()返回类的方法名组成的数组

类外不能返回私有方法

格式:array get_class_methods(mixed $class_name)

class my_class{

public function method1(){}

private function method2(){}

};

print_r(get_class_methods('my_class'));//数组,method1

get_object_vars()返回对象属性组成的关联数组

格式: array get_objece_vars(object $obj)

class foo {

private $a;

public $b = 1;

public $c;

private $d;

static $e;

public function test(){

var_dump(get_object_vars($this));

}

}

$test = new foo;

var_dump(get_object_vars($test));

$test->test();

输出
array(2) {

["b"]=>int(1)

["c"]=>NULL

}

array(4) {

["a"]=>NULL

["b"]=>int(1)

["c"]=>NULL

["d"]=>NULL

}

get_parent_class()返回对象或者类的父类名

格式:string get_parent_class([mixed $obj])

class dad {

function dad(){}

}

class child extends dad {

function child(){

echo "I'm ",get_parent_class($this),"'s sonn";

}

}

$foo = new child();//I'm dad's son

is_a()同instanceof()

格式:bool is_a(object $object,str $class_name[,bool $allow_string = FALSE ])

$WF = new WFactory();

is_a($WF,'WFactory')等同于$WF instanceof WFactory

method_exists()检查类的方法是否存在

格式:bool method_exists($object,$method_name)

$directory = new Directory('.');

var_dump(method_exists($directory,'read'));//true

var_dump(method_exists('Directory','read'));//true

property_exists()检查对象或类是否具有该属性

格式:bool property_exists(mixed $class,str $property)

$directory = new Directory('.')

class myClass {

public $mine;

private $xpto;

static protected $test;

static function test() {

var_dump(property_exists('myClass','xpto')); //true

}

}

var_dump(property_exists('myClass','mine')); //true

var_dump(property_exists(new myClass,'xpto')); //true,as of PHP 5.3.0

var_dump(property_exists('myClass','test')); //true,as of PHP 5.3.0

myClass::test();

get_declared_classes()返回所有已定义的类的名字组成的数组

格式:array get_declared_classes ( void )

print_r(get_declared_classes());

__autoload(php7.2弃用)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读