PHP 特殊方法 __set()、__get()

作者:青岛澄润国际贸易有限公司 来源:www.usabcc.com 发布时间:2017-09-02 11:52:16
PHP 特殊方法 __set()、__get()



<?php
header("Content-type: text/html; charset=utf-8");
class person{
//成员属性
private $name;
private $age = 20;
//成员方法
function username($name){
return $this->name=$name;
}
//__set()方法用来设置私有属性
function __set($property_name, $value) {
echo "在直接设置私有属性值的时候,自动调用了这个 __set() 方法为私有属性赋值<br />";
$this->$property_name = $value;
}
//__get()方法用来获取私有属性
function __get($property_name) {
echo "在直接获取私有属性值的时候,自动调用了这个 __get() 方法<br />";
}
}
$obj= new person();
echo $obj->username("张三");
echo "<hr/>";
$obj->name = "李四";//在直接设置私有属性值的时候,自动调用了这个 __set() 方法为私有属性赋值
echo "<hr/>";
echo $obj->age;//在直接获取私有属性值的时候,自动调用了这个 __get() 方法,不设置get特殊方法就会报下面的错
//echo $obj->age;//当成员属性或者方法前有private修饰,不能在类外访问。否则报错如下
/*
Fatal error: Cannot access private property person::$age in D:\wamp\www\ajax\index.php on line 23
*/
?>

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:咸宁网站建设 http://xianning.45qun.com

  • 上一篇:网站备案需要注意什么??
  • 下一篇:最后一页
  •