我只是想知道是否有人可以分享建议。
我正在构建大型Codeigniter应用程序,我正在考虑将一些模型对象放入$GLOBALS
。
这样我可以在Wordpress中执行global $post;
或global $wpdb
之类的操作。
这是否有意义并且这是一个好主意?在这种情况下,我应该首先自动加载这些模型吗?
答案 0 :(得分:2)
使用单例模式时污染全局命名空间不是一个好主意。当您不在CodeIgniter超级对象中时,只需使用$CI =& get_instance();
为什么你还想这样做呢?你想要的是什么原因?通过省略this->
来减少写作?事实并非如此,因为您必须在每个文件和函数中编写global $post
。
答案 1 :(得分:0)
你错过了面向对象编码的整个想法...... 如果要重用对象,请使用依赖注入容器。
在OO代码中将任何内容放入全局命名空间都是完全错误的。