Фреймворки часто предоставляют вам код базовой платы, который вам пришлось бы использовать в противном случае, например: управление сеансами, шаблоны, доступ к базе данных и т. Д.
С точки зрения правильной разработки программного обеспечения, использование этих структур, как правило, способствует правильному проектированию с помощью таких шаблонов, как MVC (Модель, Представление, Контроллер). Используя этот шаблон, вы можете увеличить возможность повторного использования кода, отделение концерна и т. д.
Используя доступ к базе данных, предоставляемый этими платформами, вы можете создавать эффективные модели, которые могут взаимодействовать с базой данных, способствуя многократному использованию кода. Еще одна вещь, которую следует учитывать при работе с базами данных, это безопасность, такая как инъекции SQL Большинство фреймворков в наши дни автоматически защитят вас от атак такого типа. Если бы вы написали свой собственный код (без фреймворка), вы могли бы в конечном итоге оставить какой-то запрос широко открытым для SQL-инъекций.
Для контроллеров эти платформы имеют тенденцию предоставлять какое-то отображение URL. Примером может быть domain.com/posts/edit/5
. Затем фреймворк проанализирует этот URL и вызовет контроллер «posts», метод «edit» и передаст идентификатор 5. Как вы можете видеть, если бы вы не использовали фреймворк, вам пришлось бы написать все это кодируйте себя, что увеличит время кодирования и увеличит вероятность ошибок.
Что касается представлений, то часто используются системы шаблонов, помогающие уменьшить количество html, css, javascript и т. Д., Которые вы пишете. Мало того, они также обеспечивают структуру для ваших взглядов. Другими словами, они помогают вам размещать ваши представления в каталогах / местах, которые имеют логический смысл (с точки зрения возможности повторного использования, простоты использования и т. Д.).
Резюме:
Благодаря всем этим функциям вы можете видеть, что это не только уменьшит количество ошибок / ошибок в вашей системе, но и уменьшит время разработки.
Конечно, у всего есть недостатки, и это не исключение. Основной проблемой является кривая обучения, изучающая эти новые рамки. Часто фреймворки предоставляют столько всего, что вам нужно изучить все эти новые функции, чтобы просто начать работу.
Некоторые популярные PHP-фреймворки:
CodeIgniter
CakePHP
Zend Framework
Symfony
Руководства по началу работы:
CodeIgniter
CakePHP
Zend Framework
Symfony
С точки зрения никогда ранее не использовавшейся среды и желания начать, я настоятельно рекомендую CodeIgniter . Кривая обучения далеко не так высока, как у других, однако предоставляет достаточно кода и функций, которые помогут вам начать работу.
Если вы хотите провести собственное исследование (что вам следует!), Вот таблица сравнения всех популярных PHP-фреймворков:
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP_2