2016-01-12 3 views
0

Я работаю с базой Laravel, и я хочу включить свои общие классы в файл контроллера, пока я создаю контроллер от php artisan. На данный момент он создает контроллер какСоздать контроллер с уже включенными классами laravel

<?php namespace ReaPro\Http\Controllers\Home; 

use ReaPro\Http\Requests; 
use ReaPro\Http\Controllers\Controller; 
class HomeController extends Controller {} 

Я хочу, чтобы включить свои общие классы, как

<?php namespace ReaPro\Http\Controllers\Home; 

use ReaPro\Http\Requests; 
use ReaPro\Http\Controllers\Controller; 
use ReaPro\Model\Page; 
use ReaPro\Helpers\Common; 
class HomeController extends Controller {} 

Так как я могу заранее включать мои

use ReaPro\Model\Page; use ReaPro\Helpers\Common; Классы где-то так, что они могут прийти с каждым контроллер по умолчанию, когда я создаю контроллер с php artisan?

+0

Вы можете расширить существующую команду, подготовить измененный отдельный файл шаблона и использовать эту инстанцию д. Но это не будет перспективным - если файл шаблона laravel изменится, созданные контроллеры устареют. Это также довольно просто, чтобы избежать вставки нескольких «использования» вручную. –

ответ

0

Класс Laravel GeneratorCommand довольно прост в распространении для ваших нужд. Here - ControllerMakeCommand, который распространяется GeneratorCommand. Самая важная часть - в методе getStub(), здесь вы можете увидеть, что он возвращает controller.stub или controller.plain.stub в зависимости от параметров. Эти заглушки - here.

Короче:

  1. Создайте свою собственную команду для создания контроллеров
  2. Продлить Illuminate\Console\GeneratorCommand
  3. Реализовать свою собственную команду точно так же, как Illuminate\Routing\Console\ControllerMakeCommand
  4. Создайте свой собственный окурки
Смежные вопросы