Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 12.01.2013 05:40:22

Вопрос по HMVC

До этого работал с CodeIgniter для которого был написан отличный HMVC модуль. Суть которого заключалась в том что каджый модуль лежит в отдельной папке, имеет свои модели, контроллеры, представления и все остальное. Ну и вызывать контроллер из контроллера можно было.
В laravel вызывать контроллер из контроллера вроде как можно. И создавать папки с модулями тоже можно(бандлы имею ввиду)
Т.е. все вроде как хорошо, но меня не устраивает. А неустраивает именно то что я не хочу пихать модули которые отвечают за генерачию страниц(форма обратной связи, или каталог например) в папку с бандлами по причине того что это все же разные темы, баднды за генерацию страниц мне кажется не должны отвечасть а выполняют просто роль расширенных библиотек в некоторых случаях. И хочу сделать чтоб бандлы лежали в бандлах, а модули в папке modules. Но вот че-то не знаю как это реализовать. А просто MVC я вообще как то не воспринимаю, когда куча контроллеров, можелей, и представлений разных тем лежит в 3 папках всего, а раскидать их по под папкам было бы чуть лучше, но PSR-0 не позволяет раскидать так как мне было бы удобно.

Не в сети

#2 12.01.2013 05:57:09

Re: Вопрос по HMVC

Извиняюсь, что то я документацию не перечитал перед тем как вопрос задавать, казалось что мы можем только переименовывать папку bundles в другую, что не решило бы мою проблему, но потом оказалось что и для бандлов можем менять папку.

'catalog' => array(
        'location' => '../modules/catalog',
        'handles' => 'catalog'
    ),

Вот так например)
Но тему еще не стоит закрывать, т.к. скоро еще вопросы назреют, уже прямо чувствую один вопрос)

Изменено la2ha (12.01.2013 06:01:15)

Не в сети

#3 12.01.2013 10:08:23

Re: Вопрос по HMVC

Запихивать свой код в папку с пакетами — плохая идея, так как пакеты по задумке это независимые компоненты, написанные тобой или кем-то ещё, а не части твоего приложения, разбросанные просто для удобства. Части приложения лежат в application/, где им и место.

Вариант с location, если подходит, можно использовать. Как вариант — в controllers/ можно создавать подпапки и называть классы вида Admin_Login_Controller — ты сам создавал эту тему.

Но вообще MVC/HMVC — это вопрос вкуса. Мне лично удобнее держать шаблоны/код в разных папках, сгруппированных внутри, а не держать эти группы, сгруппированные внутри по коду и шаблонам (наоборот).

Не в сети

#4 12.01.2013 10:47:03

Re: Вопрос по HMVC

Так я же и говорю что в пакеты всовывать не хочу, поэтому и создал эту тему, вариант location подошел отлично, даже лучше чем в CodeIgniter можно все настраивать, там вложенные модули нельзя было делать, а тут как хочу так и кручу вообще огонь). Кстати только что увидел что папка application это тоже пакет, который расположен в другом месте просто, вроде.

public static function detect($bundle = DEFAULT_BUNDLE, $directory = null)

Где DEFAULT_BUNDLE и есть application

Не в сети

#5 12.01.2013 13:19:09

Re: Вопрос по HMVC

  1. Кстати только что увидел что папка application это тоже пакет, который расположен в другом месте

Совершенно верно, application — это обычный пакет, только «системный», так сказать пакет по умолчанию. Структура пакетов повторяет структуру application/, что очень элегантно.

Очень жаль, что в Laravel 4 от всего этого отказались.

Не в сети

#6 12.01.2013 14:38:34

ufadizer

Re: Вопрос по HMVC

Никто не мешает сделать форк laravel 3 :-)))

#7 12.01.2013 16:06:09

Re: Вопрос по HMVC

Хочется всё же, чтобы усилия сообщества были направлены на что-то одно. Правда, судя по всему сам я на L4 так и не перейду… Будет видно, когда они его официально выпустят.

Не в сети

#8 13.01.2013 20:50:43

Re: Вопрос по HMVC

Я где то видел бандл для реализации HMVC. Можно посмотреть в этом направлении.

Не в сети

#9 13.01.2013 20:52:47

Re: Вопрос по HMVC

Хочется всё же, чтобы усилия сообщества были направлены на что-то одно. Правда, судя по всему сам я на L4 так и не перейду… Будет видно, когда они его официально выпустят

Я что-то не нашел описания чего ждать от Laravel4. Ткнешь носом в ссылку?? Очень хочется посмотреть

Не в сети

#10 13.01.2013 21:43:03

Re: Вопрос по HMVC

OrlandoST на tutsplus.com вроде видел инфу по laravel 4, и там видео даже было как устанавливать, погугли.
Тот бандл уже не актуален по ходу, все что он делает, это позволяет вызывать контроллер из контролера, но это можно делать и средствами laravel. ВОзможно он был написан для ранних версий, где этого не было.

Не в сети

#11 13.01.2013 21:46:13

Re: Вопрос по HMVC

Печально будет если laravel 4, не будет позволять это все делать, на сколько я понял там бандлов не будет, а библиотеки будут устанавливаться через Composer. Тоже удобно конечно. Но мне как любителю HMVC это не по душе, хотя я думаю гибкость останется и все же получится раскидать это все по отдельным папкам.

Не в сети

#12 14.01.2013 10:34:50

Re: Вопрос по HMVC

Печально будет если laravel 4, не будет позволять это все делать, на сколько я понял там бандлов не будет, а библиотеки будут устанавливаться через Composer. Тоже удобно конечно. Но мне как любителю HMVC это не по душе, хотя я думаю гибкость останется и все же получится раскидать это все по отдельным папкам.

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

Не в сети

#13 14.01.2013 13:25:42

Re: Вопрос по HMVC

  1. Я что-то не нашел описания чего ждать от Laravel4. Ткнешь носом в ссылку?? Очень хочется посмотреть

Moving from Laravel 3 to Laravel 4 — прокрути вниз к разделу «Bundles».

  1. а библиотеки будут устанавливаться через Composer.

Современные фреймворки тянут за собой всё больше и больше инструментов. Да, удобно что есть Composer, да, хорошо что L3 использует HTTP Foundation, а не что-то своё самописное. Но мне лично от этого только сложнее его использовать. Может я один такой, конечно.

  1. А в чем прелесть HMVC?? Во внутренний вызовах?

Какой холиварный вопрос ☺ ИМХО. нет однозначно правильных решений, так или иначе это инструмент и программист может им пользоваться хорошо или неправильно.

Не в сети

#14 14.01.2013 16:56:53

Re: Вопрос по HMVC

Спасиб за ссылку.

Не в сети

Подвал раздела