global的使用问题

图片描述

在Dao.php中直接可以global $db?我如何找到这个对象定义的地方呢,zendstudio给指到了第四行protected $db = null;这里,但是这里的对象是空呀,不明白,请大神赐教啊

阅读 1.6k
1 个回答

global是产生一个变量去指向外部的变量,global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

所以你定义了$db为全局变量,那么你在构造函数__construct()改变了$db的值,那么当前文件$db的值就被改变了:

    <?php
        $db = 7;
        
        function Sum()
        {    
            // 此处db作为一个外部变量被引入
            global $db;
        
            $db = $db + 56;
        }
        
        Sum();
        echo $db; //输出 63
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题