Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Joomla,将视图、模型和控制器注入容器是件坏事吗?_Php_Joomla_Dependencies_Containers - Fatal编程技术网

Php Joomla,将视图、模型和控制器注入容器是件坏事吗?

Php Joomla,将视图、模型和控制器注入容器是件坏事吗?,php,joomla,dependencies,containers,Php,Joomla,Dependencies,Containers,正如标题所说,我只想问,如果我将所有视图、模型、控制器和其他类(如helpers)注入容器(IoC),例如下图,这是否是一件坏事 样本: 注意:在这种情况下,我为我的组件创建了自己的基本视图、模型和控制器,所以我不使用默认的Joomla实例,比如JModelLegacy::getInstance()或JControllerLegacy::getInstance() 谢谢。我就是这么做的。我已经厌倦了不断的改变,这些改变破坏了扩展,迫使我重写它们,而没有任何实际的好处 我强制了Joomla的所有

正如标题所说,我只想问,如果我将所有视图、模型、控制器和其他类(如helpers)注入容器(IoC),例如下图,这是否是一件坏事

样本:

注意:在这种情况下,我为我的组件创建了自己的基本视图、模型和控制器,所以我不使用默认的Joomla实例,比如
JModelLegacy::getInstance()
JControllerLegacy::getInstance()


谢谢。

我就是这么做的。我已经厌倦了不断的改变,这些改变破坏了扩展,迫使我重写它们,而没有任何实际的好处

我强制了Joomla的所有MVC类,并为它们添加了前缀。一切正常


我认为您在一次加载所有内容时不会遇到问题。至少在你展示的清单上。如果你有数百个视图和模型的扩展,你可能会受伤


另一方面,你为什么要这么做?将您的库与Joomla的库分离,它将自动加载所有内容。

(如果您的扩展包含数百个视图和模型,您可能会受到伤害)。是的,我知道,这是我问这个问题的第一个原因,在上图中,这只是一个例子,可能视图、模型和控制器的总数超过50+。(另一方面,你为什么要这样做?将你的库与Joomla的库分离,它会自动加载所有内容)。不,它们不是自动加载的,它们只在我需要时加载,我只是觉得这样可以保存我的工作,因为我可以访问从容器中注入到所有视图的任何内容,还有一个原因是我想在Joomla内部创建类似laravel的东西,而且我只将字符串或名称空间/类名绑定到容器中,除了Joomla核心之外,大多数都不是对象。对不起,我英语不好,我明白了。无论哪种方式,都取决于您如何构造扩展,但直接回答您的问题我不会担心立即加载所有内容。