Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/theme.php on line 623
Плюсы и минусы CakePHP - Программируем на CakePHP


Сен 06 2008

Плюсы и минусы CakePHP

Раздел: Веб-разработка, ВсякоеМета @ 22:53

CakePHP — это платформа (framework) для упрощенной разработки веб-приложений на языке php. Сейчас существует уже целая куча подобных платформ, большинство из них более или менее слизаны с Ruby On Rails. Это вполне обосновано — php установлен на 90% всех хостинговых серверов в мире, а ruby пока еще только набирает обороты. В нашей студии CakePHP используется более двух лет, мы узнали о нем из анонса в девелоперской сети IBM.

Что нам дает использование этой платформы? Расширяемость и адаптацию. Каждый заказчик делает сайт с какой-то коммерческой целью. У каждого заказчика так или иначе отличается сфера и вид деятельности. Соответственно двух абсолютно одинаковых сайтов — не бывает.

Например, интернет-магазин, торгующий рыболовными товарами. Стандартные движки интернет-магазинов (такие как osCommerce) позволяют создать структуру каталога, указать цену и изображение товара. Но дополнительный функционал — как подбор комплектующих к товарам (крепеж для спиннигов), блесен по размерам, крючков по виду рыбы — все это приходится разрабатывать практически с нуля, потому что готового плагина не найти, а набор разнообразных плагинов не всегда можно просто интегрировать друг с другом. На CakePHP же такие связки и доработки делаются легко, в основном благодаря продуманной структуре платформы.

Структура — это отдельное, наверное самое важное достоинство платформы. Благодаря необходимости строго следовать соглашениям (conventions), CakePHP вправляет мозги недо-кодерам самоучкам, которых часто приходится брать на работу и обучать как с нуля. У них уже не получается писать глюкавые реализации стандартных в CakePHP функций. Все видели сто тысяч вариантов классов для работы с базой данных? А часто — вообще без классов, прямо в коде постоянные mysql_connect и mysql_query? Кейк от этого отучает. Взамен — приучает думать объектно, объединять функции по общим признакам в собственные классы, взаимодействовать с системой реализуя компоненты и хелперы.

К недостаткам CakePHP хотелось бы отнести скорость разработки. Причем виновата даже не платформа — она-то как раз позволяет запустить функционал за считанные часы. Виноват сам язык php. Больше всего времени уходит на безопасность приложений: проверка входных значений, разграничение уровней доступа и т.д.

Кстати, в платформе есть встроенный компонент Auth для управления доступом, но на текущий момент он крайне неудобен в использовании.

Думаем куда податься — на питон и django или на руби и rails.

Теги: ,

2 Responses to “Плюсы и минусы CakePHP”

  1. Мамончик Александр says:

    скажите, а какую версию Cake Вы используете? стабильную,но немного “деревянную” 1.1 или же свежайшую 1.2 без мануала?

  2. Мета says:

    Последние 8 месяцев у нас в студии используется версия 1.2. Честно говоря мне не нравится новый стиль по-умолчанию, в 1.1 было как-то симпатичнее. Но может быть у нашего дизайнера до этого когда-нибудь дойдут руки. :)

Напиши комментарий!