簡體   English   中英

Lithium PHP中的404路由器

[英]404 router in Lithium PHP

我知道如何在實際的/config/routes.php文件中創建響應路由,但是我找不到在哪里更改默認的“胎兒調度程序”錯誤。 我希望能夠將它路由到缺少頁面/動作控制器時制作的漂亮的404頁面。 那可能嗎?

是的,您可以利用lithium\\core\\ErrorHandler進行此操作。 請參閱默認config/bootstrap/errors.php的代碼:

ErrorHandler::apply('lithium\action\Dispatcher::run', array(), function($info, $params) {
    $response = new Response(array(
        'request' => $params['request'],
        'status' => $info['exception']->getCode()
    ));

    Media::render($response, compact('info', 'params'), array(
        'library' => true,
        'controller' => '_errors',
        'template' => 'development',
        'layout' => 'error',
        'request' => $params['request']
    ));
    return $response;
});

這就是說,如果在Dispatcher::run()期間發生任何異常,請從views/_errors文件夾中顯示layouts/error.html.php布局中的development.html.php模板。

因此,您可以更改它-也許您檢查Environment以查看這是開發環境還是生產環境,並顯示用於生產的其他模板。

也許$info['exception']->getCode() === 404 ,您可以切換到專門針對404錯誤的模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM