0

我使用一个小型框架,它的主要对象可通过它的子级(控制器、模型、视图)使用

mainobject::instance()

框架的 Wiki 建议添加所需的控制器方法

$mainobject = mainobject::instance()

因此,它通过单变量可用于模型。我怀疑这是否真的很方便,在每个模型的方法中定义该变量以获取例如全局配置变量。

class MyAnotherModel extends FrameworksModel 
{
    …
    my_method() {
        global $mainobject;
        …
        if ($mainobject->config['something_here'];
        $mainobject->controller->othermodel->othermodelsarray['somestring']; 
    }
}

无论如何,这是一个巨大的字符串,我宁愿让它更大一点,调用一个实例,然后每次写两个字符串。我的意思是,写

mainobject::instance->config['goods']
mainobject::instance->controller->othermodel->othermodelsmethodgiveme('power');

但我不知道是否可以实现,因为控制器类不提供调用实例作为变量。我想可能通过 getter 方法……如果有这样的方法。那么不重写原来的 mainobject 类我能做什么呢?

inb4 长字符串不方便输入 - 没有问题,因为我可以在 emacs 中使用缩写词并缩短输入短语。

4

0 回答 0