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