Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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 我应该把codeigniter模型对象放到globals中吗_Php_Codeigniter - Fatal编程技术网

Php 我应该把codeigniter模型对象放到globals中吗

Php 我应该把codeigniter模型对象放到globals中吗,php,codeigniter,Php,Codeigniter,我只是想知道是否有人可以分享一个建议。 我正在构建大型Codeigniter应用程序,我正在考虑将一些模型对象放入$GLOBALS 这样我就可以做一些事情,比如global$post或全局$wpdb 这有意义吗?这是个好主意吗?在这种情况下,我是否应该首先自动加载这些模型?在使用单例模式时污染全局名称空间不是一个好主意。当您不在CodeIgniter超级对象中时,只需使用$CI=&get_instance() 你为什么要这么做?你为什么要那样做?通过省略此->来减少写入?但事实并非如此,因为您必

我只是想知道是否有人可以分享一个建议。 我正在构建大型Codeigniter应用程序,我正在考虑将一些模型对象放入
$GLOBALS

这样我就可以做一些事情,比如
global$post或
全局$wpdb


这有意义吗?这是个好主意吗?在这种情况下,我是否应该首先自动加载这些模型?

在使用单例模式时污染全局名称空间不是一个好主意。当您不在CodeIgniter超级对象中时,只需使用
$CI=&get_instance()


你为什么要这么做?你为什么要那样做?通过省略
此->
来减少写入?但事实并非如此,因为您必须在每个文件和函数中编写
global$post

您缺少了面向对象编码的全部思想。。。 如果要重用对象,请使用依赖项注入容器


在OO代码中将任何内容放入全局名称空间都是完全错误的。

谢谢您的回复。我觉得它很有用。自动加载模型怎么样?怎么样?这是一种完全正常且常见的做法,加载任意数量的内容,但倾向于只加载项目每个页面所需的内容,因为您不能使它们不加载任何页面。我正在考虑自动加载模型,如用户和文章。感谢replyUser模型,我也会将其自动加载,但文章模型,即使在专用博客上,也应该进行检查,因为即使在博客上,您也有一些页面,如“关于我”、“联系人”和其他页面