0

我想为 OpenCart 开发模块,但我是 PHP 中的 OOP 新手。我很难解释 OpenCart 代码。

我知道以下语句在 PHP 中的含义,即通过 $this 访问类的方法和变量,$this 是对调用对象的引用。

$this->custom_function();
$this->defined_variable;

但是我不明白这样的说法。$this->config->get('config_template')或者这个$this->request->get['field']等等。

各位能不能帮我理解一下。它是如何被阅读/解释的?

4

2 回答 2

2
$ans = $this->config->get('config_template')
// is the same as
$foo = $this->config; // accessing 'config' property
$ans = $foo->get('config_template'); // calling 'get' function on object in config var

 $ans = $this->request->get['field'];
 // is the same as
 $bar = $this->request; // accessing 'request' property
 $ans = $bar->get['field']; // accessing 'get' property (which is an array) 

它称为方法/属性链接,当您不想为只使用一次的对象设置变量时使用。这与访问多维数组相同。例如,使用您编写$arr['one']['two']['three']的数组,如果数组是您将编写的对象$obj->one->two->three

请注意,开放式购物车源代码非常难看。我建议学习一些不那么复杂和晦涩的东西

于 2012-09-18T18:45:00.103 回答
1
$this->config->get('config_template') 

可以读作:从当前对象($this)中,使用作为对象的属性(config)并在配置对象中调用get方法,并将值'config_template'传递给函数。

$this->request->get['field'] 

可以读作:从当前对象 ($this),使用作为对象的属性 (request),并从该对象使用索引为“字段”的数组 (get)。

于 2012-09-18T18:45:26.233 回答