.inc php,Discuz之轻松理解下common.inc.php

DISCUZ里的include/common.inc.php是DZ的公共处理程序,很多DZ的程序都包含了它。利用它,我们可以在它已有的基础上做自己想做的事情。1、它定义了DISCUZ_ROOT 这个常量,用于表示论坛所在的文件目录。因为有时候我们不一定在论坛根目录写程序,所以用上这个常量会比较准确定位要引用的文件,在我们要引用文件时,一般也要写上这个。2、它引进的include/global.func.php包含了DZ的一些公共函数。所以可以使用这些函数了。3、它判断了当前用户是否是搜索引擎,用常量IS_ROBOT区分。利用此,我们可以做一些区分机器人与普通游客分别运行的操作。有时候我们不希望在搜索引擎访问的时候让执行速度变慢,或者我们不希望搜索引擎看到一些东西。4、它对$_COOKIE,$_POST,$_GET进行了addslashes 并且进行了类似 extra效果的转换。所以,我们通常不必再使用类似 $_POST[uid] 这样的变量了。所以在做表单的处理的时候,我们就很轻松了,只需要在复制下表单名称再加个$就可以了。5、它引进了论坛的配置文件。在那里我们可以得到论坛和UC相关的配置信息。比如,我们常常要使用到的数据库前缀 $tablepre。6、它把$_COOKIE里的本论坛专用的变量转换成了$_DCOOKIE,这样方便即区分了COOKIE前缀,又方便了写法。所以我们要使用DZ的 dsetcookie和$_DCOOKIE。有人没意识到这个使用了dsetcookie又没使用$_DCOOKIE的话,可能会得不到值,以为没效果。7、它实例化了数据库连接类,我们只需要使用$db来进行数据库的操作,比如$db->query();。比如在做充值接口时,虽然充值程序放在了下级目录,但通过引用common.inc.php,依然可以使用$db来方便地进行更改用户金额,这就避免了要自己再去写数据库连接。8、它还获得了当前的时间戳,$timestamp,这是经常用到的。它常常用于写进数据库来表示时间,用int 10,在开发中是常用的,比如用于记录某条数据的提交时间。9、它还获得了$PHP_SELF, $BASESCRIPT, $BASEFILENAME, $boardurl这些有用的变量。其中$boardurl是很经常用到的,用于表示论坛的根目录的URL。在做JS的站外引用的时候,我们常常就要把$boardurl输出来。10、它还获得了当前用户的IP地址,变量是$onlineip。这也是开发中经常要用到的。比如在做投票插件的时候,我们就要记录用户的IP。11、它启用了ob_start(),所以我们可以在后面使用类似ob_get_clean() 之类的函数来获取输出内容用于生成静态等等。12、它获得了当前用户的UID和用户名,分别是 $discuz_uid和$discuz_user。当然,还有$discuz_userss,不过这个并不常用,这个是未进行addslashes之前的。有些人说用户名是$discuz_userss,并在程序中使用这个,我觉得应该是不对的吧。13、它还获得了用户的用户组$groupid,这个常用于判断用户权限,比如某插件只允许哪些用户组使用,就需要根据这个来判断。14、在common.inc.php里,$page,$tid,$fid,$typeid都做了处理。所以,我们在别的程序里,一般就可以大胆的使用了,而没有必要再 intval 一下了。其中$page是我们经常要用到的,在写分页的时候,在分页的时候就没有必要再处理它了。刚接触DZ开发的人可能会自己另写一套分页函数,其实 DZ有自己的分页函数multi()很好用的,完全可以利用,至于外观和page参数重复,可以输出后替换下和增加样式即可。15、它还判断了版块的版主权限,$forum['ismoderator'],在版块列表页和内容主题页,甚至其它含有fid或tid的页面,我们就可以用它来判断是否有管理权限了。16、它运行了插件的全局包含和输出之前的页面嵌入类型插件。利用此,我们可以通过插件,在公共程序里全部运行或通过判断当前的CURSCRIPT 决定是否运行代码。

借助它,我们几乎可以做任何我们想做的事情,比如用它做一个单独页面,做一个功能模块。甚至可以不在论坛根目录而是在更深的目录使用它。我们想要用到的东西它几乎都有。

本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/882303,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值