Не использовать Illuminate в пакетах Laravel, ручных модулях Laravel

#php #laravel-4

#php #laravel-4

Вопрос:

При создании пакета в Laravel пакеты используют » Illuminate Support ServiceProvider» в своих *ServiceProvider.php . Который находится в каталоге package vendor .

 public function boot()
{
    $this->package('faiawuks/articles');
    include __DIR__.'/../../../routes.php';
}
  

Как вы видите, мне нужен Illuminate: $this->package для регистрации маршрутов, специфичных для моего пакета.

Я заметил, что Illuminate также существует внутри основного каталога поставщика. Возможно ли удалить пакет поставщика Illuminate для моего созданного пакета workbench и использовать пакет main vendor Illuminate? В любом случае, это будет частный пакет workbench?

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

Ответ №1:

Решил это на данный момент, создав свою собственную структуру каталогов в каталоге ./modules и используя это в composer.json:

 "psr-0": {
    "Articles": "modules/"
}
  

внутри «автозагрузка»: { часть. Итак, моя структура выглядит следующим образом:

 mylaravelproject
    - modules
        - Articles
        - *othermodules
  

Автозагрузчик PSR-0 ищет классы внутри ./modules/Articles . Пространство имен для использования в каталоге статей:

 namespace Articles;