Laravel 完美使用ThinkPHP路由

h6play發表於2020-08-21
  1. 實現了管道中介軟體

  2. 實現了透過註解自定義中介軟體,關於註解中介軟體這塊歡迎私信我獲取

    Route::any('{module}.{controller}.{action}', function($module, $controller, $action) {
     $class = 'App\\Http\\Controllers\\' . $module . '\\' . $controller;
     if(class_exists($class)) {
         $obj = App::getFacadeApplication()->make($class);
         if(method_exists($obj, $action) && $obj instanceof \App\Http\Controllers\Controller) {
    
             // 獲取中介軟體 歡迎私信獲取,拉你進群和大傢伙交流
             $middles = [];
    
             // 使用管道執行Laravel中介軟體, 解析出來的中介軟體
             return (new Pipeline(App::getFacadeApplication()))
                 ->send(Request::getFacadeApplication())
                 ->through($middles)
                 ->then(function() use ($action, $obj) {
                     return $obj->callAction($action, []);
                 });
         }
     }
     throw new ServerException("$module.$controller.$action 介面不存在");
    
     })->where(['module' => '[0-9a-zA-Z]+', 'class' => '[0-9a-zA-Z]+', 'action' => '[0-9a-zA-Z]+']);
    
    
    

好了大概就是這些,還有一些事件的執行,因為沒用到,所以就沒去弄

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章