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?
答案 0 :(得分: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
只是一个值。后者可以用作前者的参数。
答案 1 :(得分:0)
cannot include_once
为您的方法,因为它是reserved keyword!
以下代码
class Test {
function include_once() {
}
}
不起作用:
Parse error: syntax error, unexpected T_INCLUDE_ONCE, expecting T_STRING
让你远离麻烦是一件非常好的事情。
如果include_once
确实是一种方法(它不可能),那么有问题的代码就会起作用,但是插入一个空行并不是一个好习惯。
关于$this
- 它是您的方法或属性调用的一部分,因此通常可以多次使用它来引用您的方法或属性(来自同一个类实例)。