Должен ли я развиваться с CakePHP 2 или 3

Я только начинаю использовать программное обеспечение в качестве сервисного проекта с использованием CakePHP. Я вижу, что версия 3 все еще находится в стадии бета-тестирования, и я вижу, что этот проект занимает 3-6 месяцев.

Мой вопрос в том, должен ли я начинать с бета-версии версии 2 или версии 3, причем последний, вероятно, достиг стабильной версии.

Я не хочу изучать версию 2, а затем версия 3 имеет несколько незначительных изменений.

Обновление: переход на CakePHP 3.0 теперь, если вы начинаете новый проект. CakePHP 3 больше не находится в состоянии RC или бета, поэтому его можно использовать без каких-либо сомнений.


Вопрос, скорее всего, будет закрыт, потому что он упрям, я не решил сам провести голосование по этой причине, однако …

Cake3 на самом деле ОК, чтобы быть использованным для проекта, который займет 3-6 месяцев – это мое мнение. Но до этого вам придется ожидать нескольких изменений API. Я бы не стал жертвовать более современной архитектурой Cake3 и языковых функций, в основном пространства имен и закрытий для использования старой версии, которая не поддерживает их только потому, что Cake3 еще не достиг 3.0 (без RC).

Я начал использовать Cake сам, когда 1.3 был в альфе, и переход с 1.2 на 1.3 был довольно гладким. Мне пришлось разбираться в изменениях API во время продолжающейся разработки 1.3, но это был не игровой прерыватель, и мне не пришлось тратить много времени на это.

Та же история с Cake3. Мы используем 2.x и начали новый проект с использованием Cake3 и не испытываем особых проблем с ним. Пока это просто отлично работает, и случайные усыновления к изменениям API не являются игровым прерывателем, как это было раньше.

Вы можете видеть, что Cake3 в основном является дополнением к настоящему времени.

https://github.com/cakephp/cakephp/wiki/3.0-Roadmap

Если вы пойдете дальше, вы заметите, что 3.1 собирается поднять минимальную версию php до 5.5.

https://github.com/cakephp/cakephp/wiki/3.1-Roadmap

Это связано с тем, что 5.4 достигнет конца поддержки. Поэтому нет оснований для его поддержки. Исходя из этого, вы можете сделать свое предположение, когда будет выпущено 3.0: Вероятно, до 5.4 официально не рекомендуется.

Единственным недостатком Cake3 сейчас может быть наличие плагинов. Но уже есть много плагинов, которые обновлены до 3.0 и даже новые плагины для версии 3.0.

Обновить:

Абсолютно 100% идут с CakePHP 3.x. Больше не должно быть никаких споров, так как Cake 3 теперь работает и больше не работает в бета-версии или RC … и т. Д.


Оригинальный ответ:

Если вы сейчас начинаете (январь 15), я не вижу смысла изучать CakePHP 2.x. Зачем беспокоиться, когда к моменту завершения вашего проекта у вас уже будет устаревший код (я знаю, что «устаревший» может быть немного экстремальным, но …).

Не только это, но CakePHP2 и CakePHP3 – это миры, отличающиеся довольно значительной кривой обучения. Я не могу себе представить, что на этом этапе изучение одного языка требует только повторного изучения всего за менее чем один год.

ЕСЛИ CakePHP 3 RC не был жизнеспособным выбором (например, проекты разбивались все время или имели проблемы слева и справа), и у вас есть крайний срок, тогда у вас не будет выбора в любом случае. Но CakePHP 3 RC, похоже, отлично работает и уже используется в живых проектах.

Ответ на не-мозг ИМО: Идите с CakePHP 3. Конечно, если бы я был на твоем месте.

На этом этапе (19 января 2014 года) безопасно перемещаться с помощью cakephp 2. cakephp 3 не является стабильным релизом, и нет четкой даты расписания для стабильного выпуска. Я не думаю, что это будет бриз, чтобы обновить его позже до стабильной версии, если вы разрабатываете ее в своей текущей версии. Возможно, вы измените количество кода.

Привет, я работаю с cakephp с 1 года, и я обнаружил, что вы можете использовать cakephp 2.x, потому что это стабильная версия не нуждается в дополнительной настройке, но в cakphp 3 – это нестабильная версия, которую вы устанавливаете композитором в cakephp 3, и структура cakephp 3 – совершенно другая форма cakephp2, такая как корневая папка cakephp2, это APP, но cakphp 3 нет папки приложения, в которой содержатся src, bin, vendor и т. д.

Я нашел слишком много проблем с шириной cakephp 3.1 :

  1. В appController функция beforeFilter () работает не так хорошо, как в cakephp 2.x , когда я возвращаю false false. Он должен возвращать пустую страницу, но теперь он возвращает все, как если бы эта функция beforeFilter () в appController не контролировала ничего.

  2. В модели функции beforeFilter (), beforeSave () и beforeDelete () были заменены слишком многими функциями в cakephp 3.1, но на самом деле эти функции не очень полезны, по той простой причине, что эти функции не работают, как мы ожидали их для работы нет централизации этих функций, вы можете сказать, что эти новые функции вообще не работают.

  3. Система префикса и то, как мы можем разрешить доступ некоторым пользователям для доступа к Admin / prefix, например, только от контроллера и всей свободы, что эти большие функции cakephp 2.x могут дать нам сейчас, все это ушло с cakephp 3.1 и там некоторые плохие ограничения вы должны уважать.

  4. Управление ошибками cakephp 3.1 не помогает вам вообще найти источник проблемы, это похоже на то, что вы работаете без компилятора, вы сами нашли источник проблемы, если это очень большой проект, который я вам могу, что вы можете провалился на 60% ….

слишком много причин заставляют вас ждать другой стабильной версии cakephp 3.x, чтобы начать использовать эту технологию.