<?php
class classname
{
var $value1;
function __get($name)
{
return $this->$name;
}
function __set($name,$value)
{
$this->$name=$value;
}
}
$a=new classname();
$a->$value1=5;
?>
问题一:书里面说$a->$value=5间接调用__set() 只是赋值为什么能调用?问题二:$this->name和$this->$name 多了个"$"有什么区别?
class classname
{
var $value1;
function __get($name)
{
return $this->$name;
}
function __set($name,$value)
{
$this->$name=$value;
}
}
$a=new classname();
$a->$value1=5;
?>
问题一:书里面说$a->$value=5间接调用__set() 只是赋值为什么能调用?问题二:$this->name和$this->$name 多了个"$"有什么区别?
__set()在类中其实也是赋值,两者功能相同
问题二:$this->name和$this->$name 多了个"$"有什么区别?
$this->name为当前类的name成员,$this->$name为当前类的以$name变量字符串为变量名的成名;
$this->$name没有这样的用法吧
$this->$name
可以吗!?
这个写法没用过,也许可以吧,就和$$name一个道理
{
$this->active=$value;
}那么简单了。我必须要获得当前的数据库连接配置,然后获得数据库连接的句柄,才算完成这个貌似简单的赋值过程。当然,你也可以用一个$db->open()方法来完成。但是,用->active是不是更直观?这个应用,是大多数人会忽略的。这个才是__set/__get的真正意义所在。