这篇文章给大家介绍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中魔术方法的功能有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
php如何判断字符串是否有中文
php如何实现字符串去掉头尾
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
php字符串长度不一致如何解决
php时区不正确如何解决
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
php explode报错如何解决
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议