0
回答
dede cms common.func.php helper函数问题

$_helpers = array();

function helper($helpers)

{
    //如果是数组,则进行递归操作
    if (is_array($helpers))
    {
        foreach($helpers as $dede)
        {
            helper($dede);
        }
        return;
    }


    if (isset($_helpers[$helpers]))
    {
        continue;
    }
    if (file_exists(DEDEINC.'/helpers/'.$helpers.'.helper.php'))
    { 
        include_once(DEDEINC.'/helpers/'.$helpers.'.helper.php');
        $_helpers[$helpers] = TRUE;
    }
    // 无法载入小助手
    if ( ! isset($_helpers[$helpers]))
    {
        exit('Unable to load the requested file: helpers/'.$helpers.'.helper.php');                
    }

}

上面的函数把$_helpers定义为全局变量,在helper函数中直接只用,这种方式我印象中是不可以的,本地再次确认了一下,结果也是不可以的。应该在helper函数中通过global $_helpers;引入,或者最好是在函数中定义静态变量static $_helpers=array();更好吧。

举报
刘德生
发帖于4年前 0回/333阅
顶部