CodeIgniter

12 Январь 2012

При выборе структуры веб-приложений для проекта важно оценить преимущества различных систем и выбрать подходящую. Со многими PHP веб-приложениями это может быть трудно. Давайте сравним две платформы, CodeIgniter и Kohana: обе они достаточно похожи, чтобы их можно было сравнить, и при этом достаточно разные, чтобы было затруднительно выбрать одну из них.

Выпущенная в 2006 году CodeIgniter стала одной из самых популярных MVC (Model, View Controller) структурой приложений. Если вначале распространению CodeIgniter помогла ее скорость, то сегодня процветание поддерживается сообществом. Kohana изначально основана на CodeIgniter, но с тех пор Kohana часто переписывалась, и сейчас между ними достаточно важных различий. Однако цель у этих двух механизмов одна – упрощение разработки и обеспечение безопасности, гибкости и простоты в использовании. Хотя обе структуры отвечают поставленным целям, делают они это по-разному.

CodeIgniter
Самым большим преимуществом CI является огромное сообщество программистов, использующих CI, что позволяет найти информацию по любым проектам. На массе форумов можно получить ответ на почти любой вопрос. Следующий плюс CodeIgniter, вытекающий из большого сообщества – доступ к дополнительным библиотекам.
Еще одной из замечательных особенностей CodeIgniter является документация, включающая не только руководства пользователя, но множество учебников и видеороликов от самых простых тем (основы CodeIgniter) до, например, построения сайта электронной коммерции. Среди некоторых других достоинств – автозагрузка, встроенная проверка данных, широкий спектр вспомогательных функций, модель DB абстракции, которая обеспечивает запрос к базе данных с помощью нескольких строк кода, и простота – CodeIgniter близок к концепции PHP, поэтому для освоения не нужны академические знания. Таким образом, обширная документация CodeIgniters, большое сообщество и простота изучения делают эту структуру одной из лучших.

Kohana
Kohana не может похвастаться большим сообществом или исчерпывающей документацией. Но все ее преимущества связаны непосредственно со структурой. Самое главное то, что она является объект-ориентированной. Kohana поддерживает только PHP5, в то время как до недавнего времени CodeIgniter поддерживал PHP4. Но даже с выпуском CodeIgniter2, который требует PHP5, эта структура по-прежнему не настолько объектно-ориентированная, как Kohana. CodeIgniter не имеет ORM (Object Relational Mapper), и, хотя это нельзя назвать совершенно необходимым, но ORM в Kohana>намного упрощает работу с базами данных. Пакет возможностей Kohana также изначально больше, чем у CodeIgniter. Одной из основных объектом критики Kohana является недостаточный объем документации, однако в последнее время положение улучшается. И, хотя Kohana не настолько хороша, как CodeIgniters, но для начала ее вполне достаточно.