Общие услуги Laravel через наследование - PullRequest
0 голосов
/ 28 июня 2018

Вопрос.

У меня есть группа контроллеров, которые используют определенный набор сервисов. Мне было интересно, возможно ли / правильно ли использовать наследование, чтобы избавить меня от необходимости постоянно вводить их в контроллеры. Это то, что я планировал сделать.

class MasterController extends controller{
    public function _construct(){
            $this->userData = App::make(UserService::class)
            $this->fooData = App::make(FooService::class)
    }
}

class UserController extends MasterController {
    public function __construct(BashService $bashService){
        parent::__construct();
        $this->bashData = $bashService;
    }

    public function someFunction(){
        $something = $this->userData->doUserSomething();
    }
}

Это хорошая идея? Действительно плохая идея сделать? Почему или почему нет? Я подумал, что это может избавить меня от необходимости снова и снова вводить общие службы в контроллеры.

Спасибо!

1 Ответ

0 голосов
/ 04 июля 2018

Вопрос:

Мне было интересно, возможно ли / правильно ли использовать наследование, чтобы избавить меня от необходимости постоянно вводить их в контроллеры.

Ответ:

  1. Да, это возможно, и правильно использовать наследование как После этого вы будете держать свой контроллер в чистоте, что означает, что вы может иметь функции в вашем контроллере, но функция приведет к другая функция, реализованная или унаследованная от другого класса.

Вопрос:

Это хорошая идея?

Ответ:

  1. Очевидно, большое ДА, это хорошая идея, как я уже упоминал выше поддержание чистоты вашего контроллера - лучшая практика так как ваши методы будут отделены от бизнес-логики, где Вы осуществляете все выборки и размещения и расчета и что не так как ваш контроллер чист и все методы действия возврат из другого класса с точным ответом, например (истина или ложь).

Вопрос:

Почему или почему нет?

Ответ:

  1. Так как я объяснил большую часть части, я бы хотел продолжить с, чтобы предложить вам шаблон хранилища, так в основном с помощью Репозиторий слов Я имею в виду это:

    • Хранилище исходного кода - это файловый архив и веб-хостинг, где большой объем исходного кода, для программного обеспечения или для веб-страницы хранятся публично или в частном порядке. Они часто используется проектами с открытым исходным кодом и другими разработчиками проекты для обработки различных версий.

    В laravel вы можете использовать шаблон репозитория для кодирования вашего проекта которая в настоящее время признана лучшей практикой.

    Вы также можете выполнить поиск в Google в репозитории laravel pattern.

    У меня есть пример, который поможет вам понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...