Переписывание приложения php в CakePHP

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

CakePHP выглядит как лучшая из веб-фреймворков PHP. У кого-нибудь есть опыт? Каковы предостережения, которые я должен рассмотреть, переходя от PHP с ручным кодированием к использованию фреймворка?

Не в зависимости от структуры, которую вы выбрали, первое, что вам нужно знать, это то, что:

  • это займет некоторое время, чтобы вы это знали
  • вы будете делать вещи, в течение этого времени ^^
  • поэтому, учтите, что потребуется некоторое время, прежде чем вы будете полностью работоспособны 🙂

Я думаю, что эти моменты являются наиболее недооцененными точками: использование рамки занимает не так много времени … Использование этого хорошо и в полной мере его возможностей … Ну, пару месяцев, может быть … Что означает , когда вы в конце своего проекта, вы скажете: «Я должен переписать это со всеми вещами, которые я узнал, переписывая их в первый раз» ðŸ˜€

Это означает: узнайте, что может сделать инфраструктура, научиться ее использовать и использовать ее на небольших приложениях, прежде чем начинать переписывать свой большой!

Тогда, вероятно, нет «наилучших фреймворков»: одна структура может очень хорошо подходить для одного проекта, а другая – для второго, другого проекта.

Я никогда не работал с CakePHP; Мне очень нравится Zend Framework . Но это личное мнение, и O знают людей, которые действительно любят symfony ; они не ошибаются: symfony велик – и я не ошибаюсь ни ^ ^
Тем не менее мы иногда соглашаемся на некоторые вещи; как факт, что Doctrine (по умолчанию ORM-уровень Symfony) – действительно замечательный материал, и мы склонны использовать его в проектах на основе symfony и ZF …

Если вы мотивированы, вы можете взглянуть на многие сообщения о SO, о структурах … Вот пара таких:

  • Какую структуру PHP вы бы выбрали для нового приложения и почему?
  • Является ли Symfony хорошей основой для изучения?
  • Что, на ваш взгляд, является лучшей инфраструктурой PHP MVC?
  • Является ли Symfony лучшим выбором, чем Zend для магазина веб-разработки (10+), потому что это полноценная структура стека?
  • Лучшая PHP-платформа для опытного PHP-разработчика?

Удачи с этими ^^
(«Какая структура» – довольно пассивно-субъективный вопрос ^^)

CakePHP имеет хорошие детали, но нет «лучшей» структуры. Вот поток с некоторыми подсказками о том, что хорошо в большинстве популярных фреймворков PHP.

Если вы никогда не использовали рамки MVC раньше (и Cake – это MVC-инфраструктура), я думаю, вы должны сначала познакомиться с архитектурой MVC .

«CakePHP выглядит как лучший из веб-фреймворков PHP».

Это субъективно. Вы должны сравнить плюсы и минусы других фреймворков PHP, которые будут соответствовать вашим потребностям.

Эти должности могут вам помочь:

https://stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why

Зачем мне нужна популярная структура?

https://stackoverflow.com/questions/249984/php-framework-decision-analysis-paralysis

FWIW, я использовал его некоторое время, когда я занимался разработкой php. Я нашел его легким в использовании, и быстрый аспект развития был отличным, и я бы предположил, что он только что улучшился за последние 3 года. В канале irc имеется тонкая помощь, и документация хорошая. Я не стоял на PHP достаточно долго, чтобы стать экспертом. Тем не менее, я только начинал как программист, а затем натыкался на Ларри Мастера (создателя, ака phpnut), и он был просто хорошим человеком, чтобы поговорить о принципах дизайна и о хорошем парне. И снова вам не обязательно быть супер-хорошим парнем, чтобы написать хорошую веб-фреймворк (я смотрю на вас DHH).

Большинство фреймворков «связывают» вас с ними, то есть вы должны делать что-то свое. Если вы хотите сделать что-то, что им не предназначено, вам обычно нужно его взломать. Например, сколько фреймов PHP в настоящее время поддерживает Facebook Connect?

Лично я предпочитаю «рамки», что вы можете использовать только те части, которые вы хотите. Zend подобен этому, Doctrine и Propel – ORM, которые предназначены для использования с другим кодом. Например, инфраструктура Symfony может также использовать.

Наконец, я не нашел популярную фреймворк PHP, который хорошо масштабируется.

Я использовал cakephp для нескольких проектов. С того момента, как я узнал об этом, я еще никогда не писал php без него (если это не забавный код, в котором я хочу попробовать что-то новое или узнать другие идеи дизайна от MVC). Как уже упоминалось, изучение этого займет некоторое время. Сколько времени это действительно зависит от вашего фона. Если вы использовали другую среду MVC для языка веб-скриптов, вы научитесь ее очень быстро; Разработчики RoR заберут его в течение часов / дней. Если у вас нет опыта работы с фреймворками MVC, это может занять вас немного, но это действительно сэкономит ваше время позже на дороге (в том числе в том проекте, с которого вы начинаете).

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

Я определенно рекомендую вам изучить его. Это сэкономит вам много времени и подумает о вашей голове иначе, если вы не привыкли к MVC.

Удачи.

Конкуренция CakePHP по сравнению с конфигурационным подходом имеет несколько преимуществ после их изучения:

  • это помогает держать код организованным и понятным
  • упрощает взаимодействие нескольких разработчиков с одним и тем же приложением
  • позволяет разработчикам понимать приложения других разработчиков

У вас есть два основных варианта при перезаписи устаревшего приложения в CakePHP:

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

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