Illuminate\Routing\Controller 或 App\Http\Controllers\Controller

Illuminate\Routing\Controller or App\Http\Controllers\Controller

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

的区别
Illuminate\Routing\Controller 

App\Http\Controllers\Controller 

我想传递 API 但每当我必须决定控制器 class 导入的路由时,我怀疑其中的区别。

谁能给我解释一下?

Illuminate\Routing\Controller是框架中的控制器class。 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