TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱

PHP面向对象中的魔术方法

2020-12-30
/
0 评论
/
77 阅读
/
正在检测是否收录...
12/30

魔术方法:某种场景下,能够自动调用的方法
如: __construct、 __destruct、__set、 __get、 __isset、__unset、__call
__construct(): 构造方法,new 实例时,自动调用
__destruct(): 析构方法,对象销毁时自动调用
__get(属性名): 当读取对象的一个不可见属性时,自动调用,并返回值

不可见: 未定义或无权访问时
__set(属性名,属性值): 当对一个不可见的属性赋值时,自动调用
__isset(属性名): 当用isset,或empty判断一个不可见属性时,自动调用
__unset(属性名): 当unset一个不可见属性时,自动调用

<?php
class Human{
    //构造方法,new 实例时,自动调用
    public function __construct(){
        echo '构造方法';
    }

    //析构方法,对象销毁时自动调用
    public function __destruct(){
        echo '析构方法';
    }

    //当读取对象的一个不可见属性时,自动调用,并返回值
    public function __get($a){
        echo $a;
    }

    //当对一个不可见的属性赋值时,自动调用
    public function __set($b,$c){
        echo $b.'-'.$c;
    }

    //当用isset,或empty判断一个不可见属性时,自动调用
    public function __isset($d){
        echo $d;
    }

    //当unset一个不可见属性时,自动调用
    public function __unset($f){
        echo $f;
    }
}
$zhangSan = new Human();

$zhangSan->daQiu;//daQiu

$zhangSan->kan = '变形金刚';//kan-变形金刚

isset($zhangSan->zhangFei);//zhangFei

unset($zhangSan->liuBei);//liuBei
经验PHP面向对象魔术方法
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwll.cn/archives/4995/(转载时请注明本文出处及文章链接)

评论 (0)