PHP: how to avoid redeclaring functions?

前端 未结 4 1808
-上瘾入骨i
-上瘾入骨i 2020-12-16 09:33

I tend to get errors such as:

Fatal error: Cannot redeclare get_raw_data_list() (previously declared in /var/www/codes/handlers/make_a_thread/get_raw_

相关标签:
4条回答
  • 2020-12-16 10:11

    If you are dealing with Classes method_exists() might be what you're looking for:

    if(!method_exists(__CLASS__, 'function_name')){
        function function_name(){
    
        }
    }
    

    This will check the current Class to make that the function function_name doesn't exist before trying to declare it

    0 讨论(0)
  • 2020-12-16 10:22
    if(!function_exists("get_raw_data_list")) {
    ... define function here ...
    }
    

    http://us.php.net/function_exists

    0 讨论(0)
  • 2020-12-16 10:23

    Use require_once or include_once as opposed to include or require when including the files that contain your functions.

    The _once siblings of include and require will force PHP to check if the file has already been included/required, and if so, not include/require it again, thereby preventing 'cannot redeclare x function...' fatal errors.

    0 讨论(0)
  • 2020-12-16 10:26

    "function_exists" will tell you if a function has already been declared. Though I suspect maybe you have a problem with including files more than once. When you include a file are you using require_once or include_once or just require / include?

    0 讨论(0)
提交回复
热议问题