传统面向对象中,为了隔离数据,一般这样对数据进行获取和修改:
class Test{
private $data;
public function setdata($_value) {
$this->data=$_value;
}
public function getdata() {
return $this->data ;
}
}
$test = new Test();
$test->setdata("Hello");
echo $test->getdata();
但是如果有N个数据,这样写很麻烦,PHP对此作简化
PHP提供了对类中数据存储的面向对象方式:
__set(键,值)
__get(键)
<?php
class Test{
private $data;
public function __set($_key,$_value) {
if ($_key=="data") //如果是data 对他要设置的值进行拦截修改
{
$_value.=" World";
}
$this->$_key=$_value;
}
public function __get($_key) {
return $this->$_key ;
}
}
$test = new Test();
$test->data ="Hello";
echo $test->data;
?>