仅在从特定子目录调用时才执行PHP函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了仅在从特定子目录调用时才执行PHP函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个现有的 PHP应用程序,我试图插入pbpBB. PHPBB具有与我现有的一些函数同名的函数.这会生成以下错误

E_COMPILE_ERROR Error in file »functions.PHP« at line 121: Cannot redeclare redirect() (prevIoUsly declared in /.../httpdocs/forum/includes/functions.PHP:2289)

我可以重命名PHPBB应用程序中的函数,但这可能会导致将来的更新出现问题.在我的代码中,我将不得不重命名函数512个实例.命名空间需要同样的努力.

有没有办法指定只有在从特定目录调用时才应使用特定函数?例如,我将redirect()定义为从httpdocs / forum调用时使用的函数,以及从/ httpdocs / myapp调用代码中其他地方使用的具有相同名称的另一个函数.似乎它很实用,但我找不到这样的解决方案.

解决方法

这正是命名空间的用途,但是PHPBB虽然古老而且非常苛刻,并且不使用命名空间,所以我猜这不适合你.您最好的选择是重命名应用程序中的冲突函数,或者只是将它们分开,只需在iframe中显示您的PHPBB论坛调用它.如果您现有的PHP应用程序有会话需要集成,希望您将会话保存在数据库中,并且您可以编写连接器以在两个应用程序之间传递会话数据而不会有太多麻烦.否则,你将度过糟糕的一天.

脚本宝典总结

以上是脚本宝典为你收集整理的仅在从特定子目录调用时才执行PHP函数全部内容,希望文章能够帮你解决仅在从特定子目录调用时才执行PHP函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。