我想知道Laravel 4是否有可能根据给定的参数实际调用控制器的功能.例如,如果我有这样的路线:
'auth/{action}
Run Code Online (Sandbox Code Playgroud)
那么有没有办法根据'action'参数调用控制器动作?在Kohana,我可以这样写:
'auth/<action>' -> defaults (controller=>'UserController',action=>'<action>'
Run Code Online (Sandbox Code Playgroud)
那不是那样,但你知道我的意思:)无论如何,如果没有机会这样做,那么我必须将我的路线分成单一路线吗?
听起来你只需要auth作为基URI 路由到控制器.
Route::controller('auth', 'AuthController');
Run Code Online (Sandbox Code Playgroud)
此控制器(AuthController)现在希望您的方法以他们应响应的HTTP谓词作为前缀.您还可以使用该getIndex方法来响应基URI,在本例中为auth.
示例控制器可能如下所示:
class AuthController extends Controller {
public function getIndex()
{
return 'Index page'; // Responds to localhost/auth
}
public function getLogin()
{
return 'Login page'; // Responds to localhost/auth/login
}
}
Run Code Online (Sandbox Code Playgroud)
你应该注意一件事.如果你Route::controller('/', 'HomeController');那么它应该是最后的.之后的任何路由都不会被调用,因为Laravel会自动添加一个"缺失方法"路由,该路由将捕获控制器上可路由方法不匹配的任何内容.
更多关于RESTful控制器的官方文档.
| 归档时间: |
|
| 查看次数: |
1457 次 |
| 最近记录: |