Какой фреймворк мне следует использовать для обеспечения лучшего долгосрочного обновления / обслуживания, CakePHP или CodeIgniter? - PullRequest
2 голосов
/ 01 ноября 2008

Я выбираю фреймворк для тестирования на PHP. Я сузил его до CakePHP и CodeIgniter. У меня есть пара вопросов к любому из вас, кто использовал или знаком с обоими:

  1. Мне нравится тот факт, что CakePHP по умолчанию хранит большую часть кода вне webroot. Тем более, что в итоге я могу использовать единую установку фреймворка для нескольких приложений. Я вижу, CodeIgniter тоже это сделает, но вы должны настроить его и переместить некоторые вещи. Это обходной путь, безопасный и надежный, или это второстепенный взлом?

  2. Что (если не оба) проще обновить и поддерживать в течение длительного времени? По мере выхода новых версий фреймворка (и самого PHP). Я не хочу, чтобы мои вещи ломались или устаревали.

Изменить:

Это очень старый пост, но я подумал, что обновлю его тем, что я наконец-то закончил делать, а именно использованием Kohana.

Ответы [ 7 ]

4 голосов
/ 07 ноября 2008

Вы должны попробовать обе платформы в течение недели или около того, создать что-то тривиальное (например, блог или вики) в обеих, и посмотреть, что вы предпочитаете использовать. Все, что имеет для вас смысл , вероятно, продержит вас дольше всего благодаря обновлениям и амортизации.

CakePHP сейчас находится в состоянии нестабильности, по-прежнему обнаруживая ошибки, пытаясь выпустить версию 1.2 (которая не имеет обратной совместимости). Я бы не советовал создавать критически важные приложения, если вам нужно что-то твердое прямо сейчас . Если вы можете подождать месяц или два, пока все уладится, то это, вероятно, спорный вопрос.

Для решения ваших проблем:

1) Cake и CI делают это одинаково (iirc). Они одинаково безопасны, надежны и хакерские на этом фронте.

2) Все меняется. Если вам нужна конкретная, постоянная гарантия стабильности и обратной совместимости, катите свои собственные рамки. В этом нет ничего особенного, и вам гарантировано, что ничего не изменится, если вы этого не захотите.

2 голосов
/ 01 ноября 2008

Я развернул несколько приложений на CakePHP, и это был очень, очень хороший опыт. В любом случае, вы не ошибетесь, так как оба надежны.

1 голос
/ 01 ноября 2008
  1. не является проблемой.

  2. У CodeIgniter есть спонсор, поэтому он определенно будет выбран на долгосрочную перспективу. Кроме того, это быстрее.

0 голосов
/ 09 декабря 2008

Чтобы ответить на оба ваших вопроса с точки зрения CodeIgniter (я не использую Cake):

1) CodeIgniter по умолчанию не хранит себя вне webroot, но может сделать это с некоторыми очень простыми изменениями. В первой части серии моих руководств по CI объясняется, как это сделать, а также рассказывается о настройке нового экземпляра CI. После завершения единственной частью CI, которая должна быть в webroot, является небольшой файл начальной загрузки index.php.

2) У меня есть приложение, которое я изначально разработал в CI 1.4.x, и я успешно перешел на 1.5.x, а затем на 1.6.x. С каждым новым выпуском разработчики CI предоставляют подробные инструкции по обновлению с указанием того, что необходимо заменить, чтобы обновления были достаточно простыми.

Джим.

0 голосов
/ 17 ноября 2008

CodeIgniter очень гибок, как вы увидите, как только попробуете. То, как ваше приложение будет обслуживаемым, попадет в ваши руки.

Я также развернул несколько приложений, используя одну и ту же установку. Я обычно создаю 2 приложения для проектов CMS (одно для администратора, одно для внешнего интерфейса).

0 голосов
/ 12 ноября 2008

Небольшое исправление вышеупомянутого комментария: оба совместимы с PHP4, а не только с CI. Кроме того, я не думаю, что наличие спонсора делает CI более или менее обновляемым или обслуживаемым. Деньги не решают эти проблемы в малейшей степени.

Я использую CakePHP для самых разных приложений, и я доволен этим до сих пор. 1.2 - огромное улучшение по сравнению с 1.1, и хотя исходный код библиотеки может измениться с RC3 на Final, я не думаю, что любой код, который вы пишете, устареет. Единственное, что меня беспокоит, так это то, что Руководство не настолько полно, как должно быть (на мой взгляд), и я немного попал в API. Компромисс в том, что теперь я очень хорошо понимаю закулисный код. В любом случае, я очень рекомендую это.

С другой стороны, я никогда не играл с CI, поэтому я не могу рекомендовать CakePHP сверх CI. Я бы взял каждого на спин и посмотреть, какой из них тебя схватит. Какой бы из них вы ни выбрали, изучите его черты и условности. Когда я начал с Cake, я невольно написал кучу кода, чтобы сделать то, что Cake сделал «автоматически», установив одну переменную в контроллере.

0 голосов
/ 01 ноября 2008
  1. Это не проблема. В приложении есть пара строк, в которых указано, где находится ядро ​​и код вашего приложения. Вам просто нужно изменить эти строки.

  2. Вы никогда не можете ожидать этого.

Состояние PHP здесь подстановочный знак. Одно приложение (CI) создано для совместимости с PHP4, другое требует PHP5. Если вам нужно иметь дело с возможностью веб-хостинга, поддерживающего только более старые версии PHP, тогда вам нужно использовать CO.

Другая проблема - модульное тестирование. Если вам требуется, чтобы ваш фреймворк поставлялся с тестами, тогда CI - не тот путь.

Лично я чувствую себя комфортно с КИ из-за корпоративной поддержки. Компания, стоящая за CI, получает реальную прибыль от их усилий. Хотя CI является бесплатным, их платный продукт (ExpressionEngine) в конечном итоге будет жить на CI. То же самое можно сказать о Zend Framework и даже о рождении Rails (изначально созданного для Basecamp.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...