【发布时间】:2014-05-23 01:51:28
【问题描述】:
我有这样的路线:
Route::group(array('before' => 'installed'), function() {
Route::group(array('before' => 'auth_admin', 'prefix' => 'admin'), function()
{
Route::group(array('prefix' => 'gag'), function() {
Route::get('/', 'Admin\\GagController@index');
Route::get('delete/{id}','Admin\\GagController@delete');
});
});
});
我需要阻止用户删除我的demo 应用程序中的内容。所以我在我的实际路线之前添加了以下代码。
if(App::environment() === 'demo')
{
Route::get('admin/gag/delete/{id}', function() {
die("You can't delete anything on demo application.");
});
}
//Actual routes are at the below.
但是,当Route::get('delete/{id}','Admin\\GagController@delete'); 存在时它不起作用。不知何故,Laravel 忽略了我的 if 块并优先考虑这条路线。 (虽然 if 块在顶部。)
看起来 routes.php 在解析路由后解析我的 if 块。
我怎样才能让 Laravel 优先考虑我的演示路线?我只是想限制对此类功能的访问。
附言。我不想在 if 块中添加所有路由。我只想优先考虑 if 块中的路由。
【问题讨论】:
标签: php laravel laravel-4 routing