Php 为什么isset没有';当我重写神奇函数get和set时,t返回true
我有以下代码 我可以知道,当我覆盖神奇函数Php 为什么isset没有';当我重写神奇函数get和set时,t返回true,php,Php,我有以下代码 我可以知道,当我覆盖神奇函数\uuuu get和\uu set 我得到的输出是 $param->country : US isset($param->country) : \uu set和\uu get不处理isset。您还必须实现。\uuu set和\uu get不处理isset。您还必须实现。这是因为isset是一种不调用magic方法的语言构造,您还应该实现magic方法\u isset 另请参阅文档:这是因为isset是一种不调用magic方法的语言构造,
\uuuu get
和\uu set
我得到的输出是
$param->country : US
isset($param->country) :
\uu set
和\uu get
不处理isset
。您还必须实现。\uuu set
和\uu get
不处理isset
。您还必须实现。这是因为isset
是一种不调用magic方法的语言构造,您还应该实现magic方法\u isset
另请参阅文档:这是因为isset
是一种不调用magic方法的语言构造,您还应该实现magic方法\u isset
另请参见文档:这是设计的。
isset
不是一个函数,它是一个语言构造,它不会自动调用\uu get
。这就是为什么有一种神奇的方法
不过,您需要PHP>=5.1.0。这是经过设计的。
isset
不是一个函数,它是一个语言构造,它不会自动调用\uu get
。这就是为什么有一种神奇的方法
不过,您需要PHP>=5.1.0
<?php
class Param
{
private $params = array();
public function __get($name) {
return $this->params[$name];
}
public function __set($name, $value) {
$this->params[$name] = $value;
}
}
$param = new Param();
$param->country = "US";
echo "\$param->country : " . $param->country . "\n";
echo "isset(\$param->country) : " . isset($param->country) . "\n";