PHP-php中怎么样实现创建一个对象然后全局都能调用

WordPress 开发 WordPress 开发 主题:1098 回复:2322

PHP-php中怎么样实现创建一个对象然后全局都能调用

浮生未歇 发布于 2017-09-29 字数 179 浏览 1178 回复 3

目前在做一个综合性的网站,发现我在初始化加载的时候一些对象不能全局引用,每次都要重新定义,这让我很头疼,现在代码重复性很大,我要怎么办啊?求助啊,或者有没有什么好的技术用啊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

灵芸 2017-10-25 3 楼

表示同意楼上的说法,在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:

function smartyObject()

 {    

     if ($GLOBALS['config']['SmartyObj'] == 0)    

     {    

         $smarty = new SmartyGame();    

         $GLOBALS['config']['SmartyObj'] = $smarty;    

     }    

     else   

         $smarty = $GLOBALS['config']['SmartyObj'];    

     return $smarty;    

 }

注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。

晚风撩人 2017-10-20 2 楼

smarty貌似有定义全局的,你可以看看,处理展现层一般我们都是用的smarty.目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

夜无邪 2017-10-02 1 楼

单件模式不就解决这个问题了