Веб-приложения: к фреймворку или нет? - PullRequest
8 голосов
/ 04 июня 2010

Я знаю PHP и только начинаю с MySql (но планирую использовать ODBC). Мне не нужны книги, объясняющие это.

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

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

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

Ответы [ 6 ]

6 голосов
/ 04 июня 2010

Использование инфраструктуры экономит массу времени и помогает логически организовать ваше приложение.

Если приложение маленькое, идеальными являются такие фреймворки, как CodeIgniter или Kohana.

Если вы создаете более крупное приложение, которое должно масштабировать Symfony или, возможно, Zend, то стоит посмотреть.

Если бы вы запустили свое приложение в Symfony, вы бы получили:

  • перезапись URL с использованием маршрутов
  • платформа форм для обработки всего, что связано с вашими веб-формами
  • интернационализация и локализация
  • * отправка по электронной почте 1016 *
  • кэширование
  • генератор области администратора, чтобы помочь вам быстро добавлять данные
  • Структура модульного тестирования

Кроме того, вся конструкция является расширяемой и настраиваемой в соответствии с вашими потребностями.

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

Надеюсь, это поможет.

2 голосов
/ 04 июня 2010

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

Это предполагает, что в вашем мире существуют хорошие рамки ...

1 голос
/ 04 июня 2010

В StackOverflow уже есть несколько хороших ответов на вопрос «какие рамки» для PHP, поэтому я не буду на них останавливаться.

Однако, что касается библиотек, я бы порекомендовал использовать библиотеку ADODB (более простую правильную очистку ввода, поддерживает несколько БД, лучший API, чем классы, специфичные для родных БД PHP) и написать несколько классов на вашем языке. владеть.

Хорошим примером "облегченной" инфраструктуры, которая обеспечивает создание шаблонов (и это также хороший пример хорошо написанной структуры), является Smarty (которая используется W3C на их веб-сайте, а не плохое одобрение). Некоторым кажется избыточным иметь язык шаблонов в PHP, но это помогает обеспечить заметную степень отделения логики представления от логики приложения.

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

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

1 голос
/ 04 июня 2010

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

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

Среда Symfony отлично подходит для быстрой разработки веб-сайтов и очень строга, используя innodb для своих таблиц базы данных, что обеспечивает целостность базы данных и полезна, если вы намереваетесь разработать строгую реляционную базу данных. Генератор администраторов также удивительно быстр для разработки систем управления контентом для веб-сайтов, которые вы разрабатываете.

Если вы собираетесь использовать фреймворк, я бы посмотрел этот урок http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/, который проведет вас через ваш первый MVC (контроллер вида модели) и гораздо проще, чем прыгнуть прямо в полный фреймворк, такой как Zend. Я бы просто следовал этому уроку, пока у вас не получится приличного кодирования в стиле mvc, не стоит изобретать колесо из-за количества времени и качества существующих фреймворков.

Надеюсь, это поможет

Люк

1 голос
/ 04 июня 2010

В настоящее время я занимаюсь разработкой PHP-фреймворка Kohana (версия 3). Существует также способ очень быстро создавать модели (для шаблона (H) MVC), используя ORM. Для получения дополнительной информации посмотрите на это: http://kohanaframework.org/guide/tutorials.orm и взгляните на http://kohanaframework.org/guide/api и http://kohanaframework.org/download

0 голосов
/ 08 ноября 2012

Я использовал Yii для нескольких проектов. Надо сказать, его расширения (backvendor http://www.yiiframework.com/extension/backvendor/ и bootstrap http://www.yiiframework.com/extension/bootstrap/) действительно экономят время на первых этапах разработки

...