php类中常用的魔术方法

1.__construct() //构造函数,
2.__destruct()//析构函数,
3.__call() 、__callStatic() //调用一个不可访问的方法、调用不可访问的静态方法时被调用
class demo1 {
 public function __call($name, $arguments) {  echo '你调用了不存在或不可访问的方法$name'.' '.implode(', ', $arguments); } /*php version 5.3.0 之后才可以*/
 public static function __callStatic($name, $arguments) {  echo '你调用了不存在或不可访问的静态方法$name'.' '.implode(', ', $arguments); }
}
$aa = new demo1();
$aa->runTest('haha'); //你调用了不存在或不可访问的方法runTest	haha 
demo1::yrt(haha); //php version 5.3.0 之后才可以  //你调用了不存在或不可访问的静态方法runTest	haha
4.__get()、__set() //在给不可访问属性赋值时,__set() 会被调用。读取不可访问属性的值时,__get()会被调用。
5.__isset()、__unset()//当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。当对不可访问属性调用 unset() 时,__unset() 会被调用。
6.__toString()//当echo一个对象时调用该方法
7.__clone()//复制一个对象时调用
class person {
 private $name;
 private $age; public function __construct($name, $age) {  $this->name = $name;  $this->age = $age; } 
public function say() {  echo '我的名字叫: '.$this->name;  echo '我的年龄是: '.$this->age.'<br>'; }
 public function __clone() {  $this->name = '我是假的'.$this->name;  $this->age = '我的年龄不是'.$this->age;}
}
$person1 = new demo1('燕睿涛', 21);
$person1->say(); //我的名字叫: 燕睿涛我的年龄是: 21
$person2 = clone $person1;
$person2->say(); //我的名字叫: 我是假的燕睿涛我的年龄是: 我的年龄不是21
欢迎交流,我是luluyrt@163.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值