Освещение \ Routing \ Controller или App \ Http \ Controllers \ Controller - PullRequest
0 голосов
/ 28 мая 2020

Я новичок в PHP, использую PhpStorm. У меня есть сомнения, в чем разница между использованием

Illuminate\Routing\Controller 

и

App\Http\Controllers\Controller 

Я хочу передать API, но всякий раз, когда мне нужно решить, какой маршрут для импорта класса контроллера я сомневаюсь в разнице.

Кто-нибудь может мне объяснить?

enter image description here

1 Ответ

1 голос
/ 28 мая 2020

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, тогда вы можете go с Illuminate\Routing\Controller

...