配置文件里有項(xiàng) : 'dispatcherFailedCallback' , 他用來(lái)設(shè)置當(dāng)調(diào)度器失敗時(shí)調(diào)用的方法。
應(yīng)用很靈活, 舉個(gè)例子, 當(dāng)控制器或控制器動(dòng)作不存在就跳到定制的404頁(yè)面。
FLEA::setAppInf('dispatcherFailedCallback', 'onDispatcherFailed');
function onDispatcherFailed
{
redirect('404.html');
}
dispatcherFailedCallback的配置分2種情況,如果當(dāng)前訪問(wèn)的控制器、動(dòng)作不存:'dispatcherFailedCallback' => 'onDispatcherFailedCallback',
如果用戶設(shè)置了RABC訪問(wèn)控制,訪問(wèn)無(wú)法訪問(wèn)的動(dòng)作時(shí):'dispatcherAuthFailedCallback' => 'onAuthFailedCallback',
上面onDispatcherFailedCallback、onAuthFailedCallback是出錯(cuò)的時(shí)候調(diào)用的函數(shù),你可以在index.php種定義這2個(gè)函數(shù)就OK了。
例如:
function onAuthFailedCallback($controller,$action)
{redirect(url('Login','Index')); // 這里是驗(yàn)證失敗時(shí),讓用戶去登錄
}