如何在Laravel 4中制作通用路线

时间:2017-01-27 13:45:14

标签: php laravel laravel-4

如何制作这样的路由器

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

因此,我可以为约定http://example.com/controller/method/param

的大多数情况定义一条路线,而不是指定路径文件中的每一个方法。

2 个答案:

答案 0 :(得分:0)

在Laravel 4.2中,您可以使用[隐式控制器] [1]。

  

Laravel允许您轻松定义单个路径来处理控制器中的每个操作。首先,使用Route :: controller方法定义路径:

Route::controller('users', 'UserController');
  

controller方法接受两个参数。第一个是控制器处理的基URI,而第二个是控制器的类名。接下来,只需向控制器添加方法,前缀为他们响应的HTTP谓词:

class UserController extends BaseController {

    public function getIndex()
    {
        //
    }

    public function postProfile()
    {
        //
    }
}

https://laravel.com/docs/4.2/controllers#implicit-controllers

答案 1 :(得分:0)

像这样:

Route::any('{controller}/{method}/{param}', function ($controller, $method, $param) {
        return call_user_func_array($controller.'::'.$method, $param);
    });