我是PHP的新手,以下是我的代码:
$smartUrl = new SmartUrl('http://www.google.com');
echo $smartUrl->render();
class SmartUrl{
private $m_baseUrl;
function __construct($baseUrl){
$this->m_baseUrl = $baseUrl;
echo $m_baseUrl;
}
public function render(){
$baseUrl = $this->m_baseUrl;
return $baseUrl;
}
}
当我运行上面的代码时,会出现这个错误:
Notice: Undefined variable: m_baseUrl in C:\xampp\htdocs\test.php on line
我使用$m_baseUrl
为$this->m_baseUrl = $baseUrl;
分配值因此,为什么它不会回显$m_baseUrl
的值。
如果省略回显线echo $m_baseUrl;
,程序运行正常。
有人可以向我解释为什么这一行echo $m_baseUrl;
会抛出错误吗?
答案 0 :(得分:0)
你忘记了$this
。
echo $m_baseUrl;
应该:
echo $this->m_baseUrl;
答案 1 :(得分:0)
$smartUrl = new SmartUrl('http://www.google.com');
echo $smartUrl->render();
class SmartUrl{
private $m_baseUrl;
function __construct($baseUrl){
$this->m_baseUrl = $baseUrl;
echo $this->m_baseUrl;//you need access with $this, here $this represent current class
}
public function render(){
$baseUrl = $this->m_baseUrl;
return $baseUrl;
}
}