【问题标题】:Laravel Routes WildcardLaravel 路由通配符
【发布时间】:2016-10-02 12:51:07
【问题描述】:

我是 Laravel 的新手,想知道是否有人可以在 routes.php 文件中协助处理通配符

这是我目前拥有的

Route::post('/post/method1','postController@method1');
Route::post('/post/method2','postController@method2');
Route::post('/post/method3','postController@method3');

这就是我想要实现的目标。

Route::post('/post/{variable}','postController@{variable}');

帮助不胜感激

【问题讨论】:

    标签: php routes laravel-5.2 wildcard


    【解决方案1】:

    在控制器中创建一个方法,根据参数值路由请求:

    public function route(string $path){
    
       // define the allowed methods
       $allowedMethods = ['someMethodName', 'anotherMethodName'];
    
       // check if the path name is a method and is allowed
       if(in_array($path, $allowedMethods, true) && method_exists($this, $path)){
    
           // call method
           return $this->{$path}();
       }
    
       // handle error
    }
    

    然后像平常一样使用控制器:

    Route::post('/post/{variable}','postController@route');
    

    【讨论】:

    • 谢谢你,Thomas 这行得通,但仍然不是我想要的。我有很多发布请求,如果我可以在 postController protected function variable1() { // code } protected function variable2() { // code } 中为每个发布请求创建一个函数会更容易
    猜你喜欢
    • 2017-07-17
    • 2015-10-12
    • 2014-06-29
    • 2021-05-12
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 2018-02-21
    相关资源
    最近更新 更多