2010-06-04 6 views
8

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

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

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

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

ответ

6

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

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

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

Если вы должны были начать ваше приложение в Symfony вы instanly получите:

  • URL переписывания с использованием маршрутов
  • форма рамки для обработки все, чтобы сделать с помощью веб-формы
  • интернационализации и локализации
  • email:
  • Кэширование
  • администратор области, чтобы помочь вам быстро добавить данные
  • рамки модульного тестирования

Плюс вся структура является расширяемой и custmisable в соответствии с вашими потребностями.

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

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

2

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

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

+1

+1. Хотя большинство фреймворков пытаются решить все проблемы сразу и взаимодействовать с любой популярной технологией, но редко преуспевают в специфической задаче. Большую часть времени вы завершаете хакинг в рамках этой структуры. Альтернативой является создание собственной инфраструктуры приложений. Эмпирическое правило, которое я нашел для себя, заключается в том, что если вы освоите фреймворк, вы чрезвычайно продуктивны, когда он покрывает ваши требования, но может резко замедлить эту линию. собственная структура занимает много времени, чтобы проектировать и писать, но не имеет этой проблемы (если вы делаете это правильно!). – back2dos

1

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

1

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

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

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

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

Надеется, что это помогает

Люк

1

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

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

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

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

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

+0

+1 Спасибо за библиотеку ADODB. Я играл с Smarty на веб-сайте, в отличие от приложения, но соглашаюсь с тем, что рекомендация W3C что-то означает. Многие, кажется, рекомендуют Symfony, так что это похоже на перекресток между этим и мой собственный. Я буду исследовать его дальше. – Mawg

+1

Пройдя через ADODB, был большой «Почему я не слышал об этом раньше ?!» момент для меня.Было бы интересно узнать, что ваш опыт, если вам хочется обновить пост вниз по линии. –

+1

Я опаздываю на вечеринку, но после работы с ADODB и PDO PDO работал лучше для моих дел. –

Смежные вопросы