Модули в Kohana и CodeIgniter

Этот пост не столько сообщение миру великой мысли, а пережёвывание банальных и бородатых истин, главная цель которых попытаться сформулировать эти истины для самого себя.

Когда программисты разрабатывают что-нибудь на Kohana или CodeIgniter, или на простом PHP, результат как правило один — CMS. Как правило это штучное изделие, но тем не менее это CMS.

Если структура CMS маломальски сложна, то весь код можно логически разделить по функционалу на различные блоки. Эти блоки могут быть более или менее автономны. Ну и конечно же, наиболее удачные решения захочется использовать неоднократно. Для этого стоит изначально оформлять логические блоки кода в модули.

Как это делается в Kohana
=======================================
Kohana-modulesСобственно там и делать нечего. В Kohana давно уже всё сделано. Достаточно просто изучить файловую структуру Kohana, и всё становится очевидным.

В Kohana есть готовые папки для размещения модулей. В них можно размещать всё то же, что и в приложении. Например контроллеры, конфиги, вьюсы. И все эти будут доступны как обычные файлы вашего приложения. Если же у вас в модуле попадётся название файла похожее на файл в приложении или ещё где, то конфликт будет разрешён согласно простым правилам описанным в том же топике.

Вот и весь секрет. Просто берите и пишите ваш модуль.

Как это делается в Codeigniter
=======================================
В CodeIgniter нет штатных средств для создания модулей. Для этого нужна специальная библиотека Matchbox. По ней есть довольно подробная документация, также есть перевод на русский. Так что подробно обсуждать эту библиотеку не буду, хочу отметить лишь, что контроллеры модуля доступны через специальный урл, который в отличие от обычных контроллеров содержат имя модуля. Кроме того, не всегда очевидно, какой файл (вид, модель) будет использовать контроллер в том или ином случае.

В общем опять получилось, что Kohana рулит =)

Модули в Kohana и CodeIgniter: 3 комментария

  1. Тимур

    В Codeigniter есть еще HMVC http://tinyurl.com/3a8sudr. Удобная вещь для создания модульности. К сожалению, до Kohana руки не дошли, потому сравнить их не могу.

  2. altesack Автор записи

    Спасибо за ссылку. Очень интересно было поглядеть. По использованию очень похоже на тот же MatchBox.

  3. MpaK

    HMVC и Matchbox вообще не похожи, ни по использованию ни по реализации. HMVC в целом удобен и надежен.
    Если нужно, что попроще есть еще Wick

Комментарии запрещены.