php中类 get set,PHP5类中__get()与__set()的用法

本文介绍了PHP5中使用__get()和__set()魔术方法来动态获取和设置私有属性的方法。通过示例代码展示了如何在属性不存在或者对只读属性进行操作时抛出异常,以及如何在设置属性值时进行特定条件的判断。
摘要由CSDN通过智能技术生成

PHP5对属性值的获取__get()与设置__set()的用法如下:

class PC

{

private $name;

private $price;

private $type;

function __get($propertyName)

{

if(isset($this->$propertyName))

{

return $this->$propertyName;

}

else

{

throw new Exception("not a property name",null);

}

}

function __set($name,$value)

{

if(isset($this->$name))

{

//通过switch可以对某些属性判断,设只读等

switch ($name)

{

case "price":

{

//这里可以对具体的属性做判断,如

if(intval($value,null))

{

$this->$name = $value;

}

else

{

throw new Exception("not a integer",null);

}

break;

}

case "type":

{

//设该属性只读

throw new Exception("read only property",null);

}

default:

{

$this->$name = $value;

break;

}

}

}

else

{

throw new Exception("not a property name",null);

}

}

function __construct($_name,$_price,$_type)

{

$this->name = $_name;

$this->price = $_price;

$this->type = $_type;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值