Добавление методов в абстрактный класс Controller

Я пытался перенести приложение Laravel 4.2 в Laravel 5.0
и ранее в Laravel 4.2 у вас был BaseController, который могут расширять другие создаваемые вами контроллеры, то есть, если я добавлю в него метод. Другие контроллеры, расширяющие BaseController, могут использовать его.

Теперь на Laravel 5.0 они как-то изменили его, вместо того чтобы использовать класс, они использовали абстрактный класс

<?php namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;

abstract class Controller extends BaseController {

use DispatchesCommands, ValidatesRequests;
}

Теперь я не знаю, что такое абстрактный класс, поэтому мой главный концерт — я все еще смогу добавить functions() что может быть использовано другими контроллерами, расширяющими его?

Так, в качестве примера в контроллере, расширяющем BaseController

$this->method_from_base_controller();

0

Решение

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

Основное различие между абстрактными классами и обычными классами состоит в том, что вы не можете создавать объекты абстрактных классов. Вы также можете создавать в абстрактных классах методы, которые вы хотите реализовать в дочерних классах. Ссылка на тезисы на php.net

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector