代码之家  ›  专栏  ›  技术社区  ›  user3382203

PHP:无法回显变量

  •  0
  • user3382203  · 技术社区  · 7 年前

    我是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\u基本URL .

    如果我忽略回音线 echo $m_baseUrl; ,程序运行良好。

    谁能给我解释一下为什么这条线 echo$m\u baseUrl; ,是否引发错误?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Manikanta    7 年前
    $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;
        }
    }
    
        2
  •  0
  •   Ghabriel Nunes    7 年前

    你忘了 $this . echo $m_baseUrl; 应该是: echo $this->m_baseUrl;