Переписывание php-приложения в CakePHP - PullRequest
6 голосов
/ 05 августа 2009

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

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

Ответы [ 7 ]

8 голосов
/ 05 августа 2009

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

  • Вам потребуется некоторое время, чтобы узнать это
  • ты будешь делать сумасшедшие вещи, за это время ^^
  • Итак, примите во внимание тот факт, что пройдет некоторое время, прежде чем вы полностью заработаете : -)

Я думаю, что эти пункты являются наиболее недооцененными: использование фреймворка занимает не так много времени ... Хорошо его использовать и в полной мере использовать его возможности ... Ну, может быть, пару месяцев ... Это означает, что когда вы находитесь в конце вашего проекта, вы скажете: «Я должен переписать это со всем, что я выучил, переписывая его в первый раз»: -D

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


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

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


Если у вас есть мотивация, вы можете взглянуть на множество постов на SO, о фреймворках ... Вот пара из них:

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

2 голосов
/ 05 августа 2009

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

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

1 голос
/ 05 августа 2009

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

1 голос
/ 05 августа 2009

"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

0 голосов
/ 06 августа 2009

Соглашение CakePHP над конфигурацией подход имеет несколько преимуществ, как только вы их изучите:

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

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

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

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

0 голосов
/ 06 августа 2009

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

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

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

Удачи.

0 голосов
/ 05 августа 2009

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

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

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

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