我的文件结构如下。
因此,如果我在脚本A和B中都包含脚本C,则会重新声明错误函数。
如果我没有在脚本B中包含它,我会收到未定义的函数错误。
脚本B包含脚本A将使用的一些其他函数定义。
我运行脚本A,它应该开始记录...从脚本B调用一个函数,然后脚本B开始登录另一个记录器实例。
我尝试过include_once和require_once。但无济于事。他们都给了我与使用include或require相同的结果。
编辑1:我没有发布代码,因为它很长,我需要先检查一下我是否遗漏了一些基本概念。
答案 0 :(得分:1)
使用require_once
或include_once
来避免功能的重新声明
require_once 'scriptC.php';
require_once 'scriptB.php';
或
include_once 'scriptC.php';
include_once 'scriptB.php';
这将确保您的每个包含仅加载一次。
答案 1 :(得分:0)
我解决了。这是我包含文件的顺序。
我弄乱了包含顺序,它在编译脚本A时包括两次。我通过更改脚本A中包含语句的顺序并从脚本B中删除包含来修复它
答案 2 :(得分:-2)
包裹函数如此
if ( ! function_exists('foo'))
{
function foo($bar)
{
...
}
}