【问题标题】:Illuminate\Routing\Controller or App\Http\Controllers\ControllerIlluminate\Routing\Controller 或 App\Http\Controllers\Controller
【发布时间】:2020-09-15 04:45:53
【问题描述】:

我是 PHP 新手,使用 PhpStorm。我有一个疑问,这就是使用

的区别
Illuminate\Routing\Controller 

App\Http\Controllers\Controller 

我想传递一个 API,但是每当我必须决定 Controller 类导入的哪个路由时,我都会怀疑其中的区别。

谁能解释一下?

【问题讨论】:

    标签: php laravel class controller phpstorm


    【解决方案1】:

    Illuminate\Routing\Controller 是框架中的控制器类。 App\Http\Controllers\Controller 是您项目中扩展框架控制器的那个。如果您的控制器具有覆盖方法或某些您希望它们可用于其他扩展控制器的基本方法,例如;

    namespace App\Http\Controllers;
    
    use App\Traits\DateTime\DateTime;
    use App\Traits\Partner\PartnerDetail;
    use App\Traits\Redirect\RedirectRoute;
    use Illuminate\Foundation\Bus\DispatchesJobs;
    use Illuminate\Routing\Controller as BaseController; // this is in the framework
    use Illuminate\Foundation\Validation\ValidatesRequests;
    use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
    
    class Controller extends BaseController
    {
        // Laravel Traits
        use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
    
        // Project Traits
        use RedirectRoute, DateTime, PartnerDetail;
    
        public function someCommonMethod()
        {
            // 
        }
    }
    
    <?php
    
    namespace App\Http\Controllers;
    
    class DashboardController extends Controller
    {
        public function index()
        {
            $this->someCommonMethod();
        }
    }
    

    如果您的App\Http\Controllers\Controller 没有什么特别之处,那么您可以选择Illuminate\Routing\Controller

    【讨论】:

      猜你喜欢
      • 2020-04-13
      • 2017-06-30
      • 2016-05-09
      • 2015-10-05
      • 2021-03-29
      • 1970-01-01
      • 2019-06-03
      • 2017-03-27
      • 2017-06-09
      相关资源
      最近更新 更多