Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel模式到控制器的路由方法_Php_Laravel_Laravel 4 - Fatal编程技术网

Php Laravel模式到控制器的路由方法

Php Laravel模式到控制器的路由方法,php,laravel,laravel-4,Php,Laravel,Laravel 4,我怎样才能制造这样的路由器 Route::any("/{controller}/{method}/{param}", "$controller@$method"); 因此,我不需要在routes文件中指定每一种方法,而是能够为大多数情况下的约定定义路由我真的不知道您为什么要这样做,我认为使用这种方法会使routes文件失去灵活性。我宁愿把事情明确地定义,比如: Route::get('/users/{id}', 'UserController@show'); Route::post('/use

我怎样才能制造这样的路由器

Route::any("/{controller}/{method}/{param}", "$controller@$method");

因此,我不需要在routes文件中指定每一种方法,而是能够为大多数情况下的约定定义路由

我真的不知道您为什么要这样做,我认为使用这种方法会使routes文件失去灵活性。我宁愿把事情明确地定义,比如:

Route::get('/users/{id}', 'UserController@show');
Route::post('/users', 'UserController@store');
而且,如您所见,不同的路由尽管由属于同一控制器的方法处理,但可能具有不同数量和类型的参数(例如:获取特定用户需要发送ID参数,但存储新用户不需要发送参数,至少不通过URL

此外,

Route::any("/{controller}/{method}{param}" ...
表示{}内的所有内容都是参数,包括{param}


看来你想要一条普通的单班轮航线。这真的值得吗?

我真的不知道您为什么要这样做,我认为使用这种方法会使routes文件失去灵活性。我宁愿把事情明确地定义,比如:

Route::get('/users/{id}', 'UserController@show');
Route::post('/users', 'UserController@store');
而且,如您所见,不同的路由尽管由属于同一控制器的方法处理,但可能具有不同数量和类型的参数(例如:获取特定用户需要发送ID参数,但存储新用户不需要发送参数,至少不通过URL

此外,

Route::any("/{controller}/{method}{param}" ...
表示{}内的所有内容都是参数,包括{param}

看来你想要一条普通的单班轮航线。它真的值得吗?

您可以使用,但您必须为每个控制器都这样做:

Route::controller('my-controller', 'MyController');
这将把
my controller/test
重定向到
MyController@test
我的控制器/双重测试
MyController@doubleTest

您可以使用,但您必须为每个控制器执行此操作:

Route::controller('my-controller', 'MyController');

这将把
my controller/test
重定向到
MyController@test
我的控制器/双重测试
MyController@doubleTest

@Emmanuel Figuerola是的,拥有大多数框架使用的路由约定是值得的,因为如果需要定义任何特殊路由,您可以在不破坏任何内容的情况下定义它,这对开发人员来说非常方便,因为他不必处理路由文件中的数百个路由定义,这可能会造成混乱、容易出错和难以维护

Laravel通过为每个视图、控制器中的每个方法和每个AJAX回调定义一个路由变得非常麻烦,因为这些路由中的大多数都可以完全适合常见的已知模式“controller/action/id”,从而保持简单性、性能、可维护性和较小的代码。我仍然在努力寻找一种方法来实现类似的东西,但我的努力似乎是徒劳的。
路由::控制器();如果我记得清楚的话,从Laravel 4开始就被弃用了,取而代之的是RESTful控制器。

@Emmanuel Figuerola是的,拥有大多数框架使用的路由约定是值得的,因为如果需要定义任何特殊路由,您可以在不破坏任何内容的情况下定义它,这对开发人员来说非常方便,因为他不必处理路由文件中的数百个路由定义,这可能会造成混乱、容易出错和难以维护

Laravel通过为每个视图、控制器中的每个方法和每个AJAX回调定义一个路由变得非常麻烦,因为这些路由中的大多数都可以完全适合常见的已知模式“controller/action/id”,从而保持简单性、性能、可维护性和较小的代码。我仍然在努力寻找一种方法来实现类似的东西,但我的努力似乎是徒劳的。
路由::控制器();如果我记得清楚的话,从Laravel4开始就不推荐使用RESTful控制器。

我没有读过Route::controller。看起来很酷,谢谢你提供的信息。这不起作用。它说找不到控制器方法。@akifquddus请注意,这个答案是关于Laravel 4的。在Laravel5上,情况可能已经发生了变化。我没有读过Route::controller。看起来很酷,谢谢你提供的信息。这不起作用。它说找不到控制器方法。@akifquddus请注意,这个答案是关于Laravel 4的。拉威尔5号的情况可能已经改变了。