我倾向于犯错,例如:
致命错误:无法在第19行的/var/www/codes/handlers/make_a_thread/get_raw_data_list.php中重新声明get_raw_data_list()(之前在/var/www/codes/handlers/make_a_thread/get_raw_data_list.php:7中声明)
我该如何避免错误?是否可以在声明函数之前创建一个IF子句以检查函数是否已声明?
答案 0 :(得分:80)
if(!function_exists("get_raw_data_list")) {
... define function here ...
}
答案 1 :(得分:28)
在包含包含您的功能的文件时,使用require_once
或include_once
而不是include
或require
。
_once
和include
的 require
兄弟会强制PHP检查文件是否已被包含/需要,如果是,则不是{再次{1}} / include
,从而阻止'无法重新声明x函数... '致命错误。
答案 2 :(得分:8)
“function_exists”将告诉您是否已声明某个功能。虽然我怀疑你可能不止一次包含文件。当您包含文件时,您使用的是require_once或include_once还是只需要/ include? p>
答案 3 :(得分:5)
如果您正在处理类method_exists()
,那么您可能正在寻找:
if(!method_exists(__CLASS__, 'function_name')){
function function_name(){
}
}
这将检查当前的Class,以便在尝试声明它之前使函数function_name
不存在