【问题标题】:PHP: Undefined variablePHP:未定义的变量
【发布时间】:2012-05-24 17:39:57
【问题描述】:

我有下面的代码。出于某种原因,当我运行此代码时,它说变量 rsLinks 未定义。但是很明显,您可以看到它是在构造函数中定义的。你能告诉我我做错了什么吗?

 require_once "..\Models\Links.php";

class Navigator
{
    public $rsLinks;

    public function __construct() 
    { 
        $rsLinks = new rsLinks();
    }

    public function getLinks()
    {
        $links = $rsLinks;
    }
}

$navigator = new Navigator();
$navigator->getLinks();

【问题讨论】:

  • 我认为这与范围界定有关。

标签: php class variables scope


【解决方案1】:

请改用$this->rsLinks;

【讨论】:

  • 哦,谢谢。现在我觉得很笨。也非常感谢 Odinn!
  • 我个人讨厌你必须在 PHP 中使用 $this... :) 你欢迎。
【解决方案2】:
public function getLinks()
{
    //$links = $rsLinks;
    $links = $this->rsLinks;
}

【讨论】:

    【解决方案3】:

    $rsLinks 是具有函数作用域的常规局部变量。
    要访问对象属性,请使用$this->rsLinks

    【讨论】:

      【解决方案4】:

      PHP 不是 Java。您需要使用 $this。

      $this->rsLink
      

      在这两种情况下。

      【讨论】:

      • 你说的是实话。我一直忘记这一点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      • 2019-09-18
      • 2012-08-08
      • 1970-01-01
      相关资源
      最近更新 更多