我对 Opencart oo 编程很感兴趣。
在 opencart 中,从任何控制器文件中,我们可以很容易地看到这样的编程风格:-
class ControllerAccountAddress extends Controller {
private $error = array();
public function index() {
if (!$this->customer->isLogged()) {
$this->session->data['redirect'] = $this->url->link('account/address', '', 'SSL');
}
我可以看到,在ControllerAccountAddress 类中,作者可以立即分配其他类生成的属性,至少不是来自扩展的Controller 类或在同一个php 页面中。因此,我怀疑,其他类创建的一些公共属性可以在这种“索引”方法中调用使用。
但是,当我尝试另一个这样的课程时:-
<?php
class Language{
public $lang;
function __construct($the_lang) {
$this->lang = $the_lang;
}
function get_lang(){
echo $this->lang;
}
}
?>
<?php
$try = new Language('English');
$try->get_lang();
?>
结果将是“英语”。
然后,我尝试创建另一个类:-
<?php
class Person {
public $name;
function trial() {
$something = $this->lang . "OK";
}
}
?>
然后,无论我如何尝试, $this->lang 都无法使用,我怀疑它不适用于此方法。
我该怎么做才能生成可用于其他类方法的属性?