我有一個silex BootableProvider來檢查每個請求上的某些要求,然後執行對我的任何端點的調用。所有的作品都很好,除了當我使用$ app-> abort('403','禁止出於某種原因');在boot()方法的任何地方,響應總是返回代碼200.'禁止'消息正確顯示並且如預期的那樣中斷執行,但是沒有有意義的響應狀態代碼使得處理這些故障變得困難/麻煩響應。在BootableProviderInterface上的silex abort()會忽略提供的代碼,響應總是有200個
我使用的是silex 2.0.4。
但是,如果我在任何實現ControllerProviderInterface的終端執行$ app-> abort(...),在同一請求線程中,響應具有我在中止中指定的正確響應代碼,所以我我認爲這是一個時間問題。
任何意見,不勝感激。
示例代碼:
class BootProvider implements BootableProviderInterface {
function boot(Application $app) {
$app->abort(403, 'not allowed');
}
}
...
$app->register(new My\Api\BootProvider());
我試過路過頭重寫狀態無濟於事。
謝謝!
的確叫我在開機的方法產生只是一個未經處理的異常。您的建議非常適合我的使用。這正是我需要的,我非常感謝! (ps。我已經投了票,但沒有足夠的票數來顯示,謝謝!) –
只接受我的回答) –
完成,對不起,第一次來這裏......謝謝! –