我有一个web应用程序处理合同和客户基本上。我实际上是这样创建我的路由的(如果路由不是英语的,不要感到惊讶,我的应用程序与法语记录一起工作):
Route::get('/client', 'ClientController@index');
Route::get('/client/{id}', 'ClientController@getById')->where('id', '[0-9]+');
Route::get('/client/{search}', 'ClientController@getByText')->where('search', '[a-z_.-s]+');
Route::get('/client/creer'); // Form to create a new client
Route::post('/client/', 'ClientController@new');
// And so on ...
你会注意到注释,因为有太多的路由,我不能把它们都放在这里。这就是为什么我想知道……
我可以用这个命令代替吗:
Route::resource('client', 'ClientController');
但是使用非英文的路由名称?例如,如果没有client/create
,我就会自动得到client/creer
('creer'是'create'的法语构词法)。
如果Laravel没有实现这种选项,我可以查看文件并自己更新吗?如果是,我在哪里可以找到这个方法
可以使用以下命令重命名资源路由:
Route::resource('client', 'ClientController', [
'names' => [
'create' => 'client.creer'
]
]);
检查https://laravel.com/docs/5.1/controllers restful-resource-controllers