PHP常用魔术方法

PHP魔术方法详解
本文介绍了PHP中的魔术方法,包括__set、__get、__call、__callStatic等方法的使用场景及实现方式。通过这些方法可以实现动态属性的读写、方法调用等功能。
//设置不存在的属性时调用
function __set($name, $value)
{
    echo __METHOD__."\n";
    $this->array[$name] = $value;
}
//调用不存在属性时使用,一般与set配套使用
function __get($name)
{

    echo __METHOD__."\n";
    if(isset($this->array[$name])){
        return $this->array[$name];
    }else{
        return "你所调用的属性不存在\n";
    }
}
//调用不存在的方法调用
function __call($name, $arguments)
{
    var_dump($name,$arguments);
    echo "\n";
    return "magic function\n";
}
//调用不存在的静态方法调用,类似__call
static function __callStatic($name, $arguments)
{
    return "magic function __callStatic\n";
}
//把对象转化为字符串时调用
function __toString()
{
    return __CLASS__;
}
//把对象作为函数时调用
function __invoke($param)
{
    var_dump($param);
    echo '\n';
    return "invoke\n";
}

转载于:https://my.oschina.net/lawlietSady/blog/807379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值