php oop 魔术方法的应用

一、魔术方法时以两个下划线"__"开头、具有特殊作用的一些方法,可以看作PHP的“语法糖”。

      1、__set、__get是两个比较重要的魔术方法。其作用为:当给对象属性赋值取值时,即使这个属性不存在,也不会报错,会            自动执行__set、__get方法,一定程度上增强了程序的健壮性。下边有个好玩的用法,仅供欣赏:

//输出最终所有条件
class Learn1 {
    private $status;//status1,status2,status3,status4 分别代表4种筛选条件
    private $status1;//权重分别为1、2、4、8
    private $status2;
    private $status3;
    private $status4;
    public function index(){
        
    }
    public function __set ( $name , $value ) {
        $this->$name=$value;
    }
    public function __get ( $name ) { 
        if($name =='status' && $this->$name !='null'){
            $status=0;
            if($this->status1==1){
                $status +=1;
            }
            if($this->status2==1){
                $status +=2;
            }
            if($this->status3==1){
                $status +=4;
            }
            if($this->status4==1){
                $status +=8;
            }
            return $status;
        }else{
            return  $this->$name;
        }
    }
$test=new Learn1();
$test->status1=1;
$test->status2=1;
echo $test->status;//最终条件

 

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值