Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
До этого работал с CodeIgniter для которого был написан отличный HMVC модуль. Суть которого заключалась в том что каджый модуль лежит в отдельной папке, имеет свои модели, контроллеры, представления и все остальное. Ну и вызывать контроллер из контроллера можно было.
В laravel вызывать контроллер из контроллера вроде как можно. И создавать папки с модулями тоже можно(бандлы имею ввиду)
Т.е. все вроде как хорошо, но меня не устраивает. А неустраивает именно то что я не хочу пихать модули которые отвечают за генерачию страниц(форма обратной связи, или каталог например) в папку с бандлами по причине того что это все же разные темы, баднды за генерацию страниц мне кажется не должны отвечасть а выполняют просто роль расширенных библиотек в некоторых случаях. И хочу сделать чтоб бандлы лежали в бандлах, а модули в папке modules. Но вот че-то не знаю как это реализовать. А просто MVC я вообще как то не воспринимаю, когда куча контроллеров, можелей, и представлений разных тем лежит в 3 папках всего, а раскидать их по под папкам было бы чуть лучше, но PSR-0 не позволяет раскидать так как мне было бы удобно.
Не в сети
Извиняюсь, что то я документацию не перечитал перед тем как вопрос задавать, казалось что мы можем только переименовывать папку bundles в другую, что не решило бы мою проблему, но потом оказалось что и для бандлов можем менять папку.
'catalog' => array(
'location' => '../modules/catalog',
'handles' => 'catalog'
),
Вот так например)
Но тему еще не стоит закрывать, т.к. скоро еще вопросы назреют, уже прямо чувствую один вопрос)
Изменено la2ha (12.01.2013 06:01:15)
Не в сети
Запихивать свой код в папку с пакетами — плохая идея, так как пакеты по задумке это независимые компоненты, написанные тобой или кем-то ещё, а не части твоего приложения, разбросанные просто для удобства. Части приложения лежат в application/, где им и место.
Вариант с location, если подходит, можно использовать. Как вариант — в controllers/ можно создавать подпапки и называть классы вида Admin_Login_Controller — ты сам создавал эту тему.
Но вообще MVC/HMVC — это вопрос вкуса. Мне лично удобнее держать шаблоны/код в разных папках, сгруппированных внутри, а не держать эти группы, сгруппированные внутри по коду и шаблонам (наоборот).
Не в сети
Так я же и говорю что в пакеты всовывать не хочу, поэтому и создал эту тему, вариант location подошел отлично, даже лучше чем в CodeIgniter можно все настраивать, там вложенные модули нельзя было делать, а тут как хочу так и кручу вообще огонь). Кстати только что увидел что папка application это тоже пакет, который расположен в другом месте просто, вроде.
public static function detect($bundle = DEFAULT_BUNDLE, $directory = null)
Где DEFAULT_BUNDLE и есть application
Не в сети
Не в сети
Никто не мешает сделать форк laravel 3 :-)))
Не в сети
Я где то видел бандл для реализации HMVC. Можно посмотреть в этом направлении.
Не в сети
Не в сети
OrlandoST на tutsplus.com вроде видел инфу по laravel 4, и там видео даже было как устанавливать, погугли.
Тот бандл уже не актуален по ходу, все что он делает, это позволяет вызывать контроллер из контролера, но это можно делать и средствами laravel. ВОзможно он был написан для ранних версий, где этого не было.
Не в сети
Печально будет если laravel 4, не будет позволять это все делать, на сколько я понял там бандлов не будет, а библиотеки будут устанавливаться через Composer. Тоже удобно конечно. Но мне как любителю HMVC это не по душе, хотя я думаю гибкость останется и все же получится раскидать это все по отдельным папкам.
Не в сети
Печально будет если laravel 4, не будет позволять это все делать, на сколько я понял там бандлов не будет, а библиотеки будут устанавливаться через Composer. Тоже удобно конечно. Но мне как любителю HMVC это не по душе, хотя я думаю гибкость останется и все же получится раскидать это все по отдельным папкам.
А в чем прелесть HMVC?? Во внутренний вызовах? Не вижу смысла заново инициировать весь процесс роутинга и инициализации приложения, если можно напрямую вызвать нужный экшн, который вернет нужный результат. Имхо вообще вызывать экшены из других экшенов не комильфо. Это по умолчанию функции для вызова пользователем. По мне это архитектурная ошибка так делать. Но может быть я чего-то недопонимаю.
Не в сети
- Я что-то не нашел описания чего ждать от Laravel4. Ткнешь носом в ссылку?? Очень хочется посмотреть
Moving from Laravel 3 to Laravel 4 — прокрути вниз к разделу «Bundles».
- а библиотеки будут устанавливаться через Composer.
Современные фреймворки тянут за собой всё больше и больше инструментов. Да, удобно что есть Composer, да, хорошо что L3 использует HTTP Foundation, а не что-то своё самописное. Но мне лично от этого только сложнее его использовать. Может я один такой, конечно.
- А в чем прелесть HMVC?? Во внутренний вызовах?
Какой холиварный вопрос ИМХО. нет однозначно правильных решений, так или иначе это инструмент и программист может им пользоваться хорошо или неправильно.
Не в сети
Не в сети
Страницы 1