Laravel против Codeigniter — получите функциональность HMVC CI в Laravel

StackOverflow https://stackoverflow.com//questions/12713214

Вопрос

Если я не ошибаюсь, пакеты Laravel должны быть похожи на иерархические триады MVC Codeigniter.У меня есть проект, созданный в CI, и я хочу перенести его в Laravel, поэтому пытаюсь реализовать некоторые функциональные возможности.В CI достаточно было установить расширение HMVC, создать соответствующую структуру папок, и вы уже сможете получить доступ к вновь созданным контроллерам.Однако в Laravel после создания пакета вам необходимо зарегистрировать его в application/bundles.php добавлением

return array('newbundle'),

Есть ли способ автоматически зарегистрировать все (действительные) пакеты, существующие в каталоге моих пакетов?То есть без необходимости явно регистрировать каждый новый пакет.Другими словами, я хочу сделать пакеты более динамичными, чтобы я мог просто скопировать один пакет, вставить его в другой проект и сразу же начать использовать.

В качестве побочного вопроса, есть ли у кого-нибудь представление о «правильном» способе добиться с помощью пакетов Laravel того, что Wordpress делает со своими плагинами:показать список всех пакетов, установленных в каталоге пакетов, но активировать (зарегистрировать) только выбранные?

Это было полезно?

Решение

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

http://bundles.laravel.com/bundle/autobundle

На ваш второй вопрос: вам нужно будет разработать собственное приложение/пакет, чтобы управлять им так же, как WordPress делает это с плагинами.Я могу только дать вам идею, а часть разработки — вся ваша.

Сохраните таблицу базы данных (примеры пакетов) и настройте собственный пакет или маршрут/контроллер для управления добавлением/удалением пакетов, включая загрузку новых пакетов в формате zip и извлечение их в папку пакетов при регистрации сведений о пакете в таблице db.всякий раз, когда вы хотите активировать плагин, сделайте поле активации истинным и используйте собственный метод запуска пакета в основном файле start.php каталога приложения, который может быть функцией для получения всех имен активированных пакетов и их загрузки в реестр.Если вы хотите использовать этот подход, вы можете отказаться от использования автосборки, поскольку она фактически загрузит все, что находится в каталоге пакета.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top