我如何在 Laravel 中创建一个包罗万象的路由

2022-01-02 00:00:00 routing php laravel

我需要一个 laravel routes.php 条目,它可以捕获到网站特定 domain.com/premium-section 的所有流量,以便我可以在访问高级内容之前提示人们成为会员.

I need a laravel routes.php entry that will catch all traffic to a specific domain.com/premium-section of the site so that I can prompt people to become members before accessing the premium content.

推荐答案

  1. 在 app/Http/routes.php 中,我创建了一个路由,该路由将捕获 domain.com/premium-section/anywhere/they/try/to/go 中的所有流量,并尝试在 PremiumSectionController 中查找和执行匹配函数
  2. 但是没有任何匹配的方法,只是一个包罗万象的方法.

  1. In app/Http/routes.php I create a route that will catch all traffic within domain.com/premium-section/anywhere/they/try/to/go and attempt to find and execute a matching function within PremiumSectionController
  2. But there aren't any matching methods, just a catch-all.

Route::group(['as' => 'premium-section::',
              'prefix' => 'premium-section',
              'middleware' => ['web']],
              function(){
                 Route::any('', 'PremiumSectionController@premiumContentIndex');
                 Route::controller('/', 'PremiumSectionController');

              });

.

    namespace AppHttpControllers;

    use ...

    class PremiumSectionController extends Controller{

        public function premiumContentIndex(){
           return 'no extra parameters';
        }

        //magically gets called by laravel
        public function missingMethod($parameters = array()){
            return $parameters;
        }

    }

相关文章