自从我搞砸PHP以来已经好几年了。但现在我正在尝试按照本指南进行phpBB会话集成:phpBB Sessions Integration。问题是,除非我去定义phpBB应用程序需要的所有全局变量,否则它将无法工作,因为它们最终在函数内部在运行时为空。
所以链接指南中的代码只有在我上面添加这行php代码时才有效:
global $_SID, $auth, $cache, $config, $db, $phpbb_root_path, $phpEx, $SID, $template, $user;
这不是最优的,因为每次在phpBB代码库中引入新的全局变量时我都必须不断更新这个全局声明。 :(是否有某种PHP ini设置,我应该调整或什么使它到我不必声明这些?
答案 0 :(得分:1)
这就是PHP的工作方式:-)本指南已过时。它发布于2007年10月8日。我同意你的看法,使用全局变量并不是最优的。我没有解决方案,你必须在每个函数中声明这些(并保护你的变量)。如果存在解决方案,社区将使用它们。一些贡献者的目的是将所有这些包装在一个超级变量中。但它被拒绝了(太危险,太慢等)。
您还在使用php3.0
吗?如果您想提高代码质量,您应该将论坛升级到3.2版。新系统(使用扩展)非常好,基于Symfony的Dependancy Injection。
以下是the guide来解释扩展名。
理解起来有点复杂,所以这里有一个very good extension用于开发环境。
安装它并按照步骤获取“骨架代码”。您只需编辑它即可实现您的模型。