0
 parent::__construct();

    $this->displayName = $this->l('Responsive products featured');
    $this->description = $this->l('Displays featured products and categories in your homepage.');
    $this->

    include_once($this->local_path.'/classes/ResponsiveHomeFeaturedClass.php');

你会发现很难理解为什么最后一个语句使用了两个 $this ?

4

2 回答 2

1

(我不确定你粘贴的代码是否有错误,因为include_once它是一个常用的内置函数,但我它也可能是对象上的实例函数......)

没有理由任何一行代码不能引用$this两次,或者它需要的多次。 $this只是对对象的引用。所以在这行代码中:

$this->include_once($this->local_path.'/classes/ResponsiveHomeFeaturedClass.php');

它只是调用include_once函数并向其传递一个包含该值的local_path值。这将完成同样的事情:

$some_local_path = $this->local_path;
$this->include_once($some_local_path.'/classes/ResponsiveHomeFeaturedClass.php');

但它会使用不必要的临时变量。 include_once只是一个函数,local_path只是一个值。后者可以用作前者的参数。

于 2013-09-29T12:53:38.237 回答
0

不能将其include_once作为您的方法,因为它是保留关键字

以下代码

class Test {
  function include_once() {
  }
}

不管用:

Parse error: syntax error, unexpected T_INCLUDE_ONCE, expecting T_STRING

让你远离烦恼是一件非常好的事情。

include_once如果确实是一种方法(它不可能),那么有问题的代码将起作用,但是插入空行不是一个好习惯。

关于$this- 它是您的方法或属性调用的一部分,因此通常可以根据需要多次使用它来引用您的方法或属性(来自同一个类实例)。

于 2013-09-29T15:53:13.180 回答