php中魔术方法的功能有哪些
作者
这篇文章给大家介绍php中魔术方法的功能有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
具体如下:
<?php //php中的魔术方法 header('content-type:text/html;charset=utf-8'); classPerson{ public$name; protected$sex; private$salary; //构造方法,实例化对象是自动触发的方法 publicfunction__construct($name,$sex,$salary){ $this->name=$name; $this->sex=$sex; $this->salary=$salary; } //魔术常量__CLASS__ publicfunctiongetClassName(){ echo__CLASS__; } //__FUNCTION__ publicfunctiongetMethod(){ echo__FUNCTION__; } //__tostring() publicfunction__tostring(){ return'对象必须用var_dump()'.'姓名是'.$this->name; } //__clone()在使用clone方法的时候会自动调用 publicfunction__clone(){ echo'这个对象是被克隆出来的'; $this->name='李四'; } //__get()当调用一个不存在或权限不够的属性自动触发的方法 publicfunction__get($a){ echo$a.'属性不存在或权限不够'; } //__set()当设置一个不存在或权限不够的属性时自动触发的方法 publicfunction__set($name,$value){ echo$name.'为'.$value; } //__isset()当在类外判断一个不存在或权限不够的属性时自动触发的方法 publicfunction__isset($name){ echo$name.'不能为空'; } //__call()当去访问一个权限不够或者不存在的方法的时候,会自动触发的魔术方法 publicfunction__call($method,$a){ echo'您请求的方法'.$method.'不存在'; $this->getname(); } publicfunctiongetname(){ echo$this->name; } } //实例化对象 $person=newPerson('张三','男',12223); $person1=newPerson('张三','男',12223); //$person2=newPerson('李四','女',11111); var_dump($person); var_dump($person1); exit; $person->getClassName(); $person->getMethod(); //echo$person->name; //echo$person; $person1=$person;//同一个对象 //var_dump($person); //var_dump($person1); $person2=clone$person;//克隆会产生不一样的对象 //var_dump($person); //var_dump($person2); //echo$person2->name; //$person->salary=10000; //var_dump(isset($person->salary)); //$person->getName();
关于php中魔术方法的功能有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
目录
推荐阅读
-
Linux中如何安装和使用 PHP 开发环境
-
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
-
php如何判断字符串是否有中文
php如何判断字符串是否有中文本文小编为大家详细介绍“php如何判...
-
php如何实现字符串去掉头尾
php如何实现字符串去掉头尾这篇“php如何实现字符串去掉头尾”文...
-
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
-
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
-
php字符串长度不一致如何解决
php字符串长度不一致如何解决本篇内容主要讲解“php字符串长度不...
-
php时区不正确如何解决
php时区不正确如何解决本文小编为大家详细介绍“php时区不正确如...
-
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
-
php explode报错如何解决
phpexplode报错如何解决这篇文章主要介绍“phpexp...