Использовать или писать собственный код? Вот в чём вопрос. Давайте попытаемся на него ответить.
Хотите, чтобы ваш проект соответствовал стандартам и использовал лучшие приёмы программирования?
Язык программирования PHP имеет определённые отличия от многих других языков. Одно из таких отличий состоит в нестрогом контроле над соблюдением того или иного стиля или стандарта в написании кода. В результате, когда проект ведётся несколькими разработчиками, стиль кода различных блоков может существенно различаться. Нередко это приводит к затруднениям при совместной работе над проектом. Иногда отсутствие жёстких средств такогоконтроля также приводит к написанию некачественного уязвимого кода.
В противовес этому ZendFramework написан с использованием прогрессивных приёмов кодирования, признанных лучшими на сегодняшний день. Фреймворк предоставляет стандартизованную схему расположения файлов в системе и содержит готовые решения наиболее распространённых задач, возникающих при разработке – например, валидация входных данных и их очистка. Следовательно, ZendFramework в качестве базы вашего проекта автоматически повышает уровень используемого кода, что делает приложение более качественным и безопасным. Кроме того, будучи прекрасно документированным, ZendFrameworkоблегчает присоединение к проекту новых разработчиков на любой стадии разработки.
Повторное использование — хотите выполнять меньше рутинного кодирования при разработке?
ZendFramework – это объектно-ориентированный набор взаимосвязанных компонентов, полноценно использующий последнюю на данное время объектную модель языка PHPверсии 5.х. Такая архитектура позволяет использовать полезную возможность, называемую повторным, или многократным использованием кода. Это в разы уменьшает время на написание и отладку наиболее распространённых действий, которые используются практически в каждом веб-проекте. Для приложений с несколькими интерфейсами получения данных это особенно важно. Скажем, если ваше приложение реализует поиск, к которому вы хотите добавить интерфейс, использующий XML, всё, что вам нужно – немного переопределить логику работы имеющегося контроллера, но вовсе не писать новый. Это делает процесс разработки и отладки максимально простым и прозрачным.
Локализация и интернационализация – хотите, чтобы вашим проектом пользовались люди, живущие в разных странах?
Полновесная поддержка интернациональных возможностей – ещё одна сильная сторона ZendFramework. Компонент Zend_Localeуправляет настройкой языков, а компонент Zend_Translate добавляет в приложение мультиязычную поддержку для использования символов латиского, китайского алфавитов и кирилицы. Компоненты Zend_Dateи Zend_Currency выводят в локализованном виде дату, время и денежную единицу.
Открытый код – хотите, чтобы над вашим проектом трудились сотни лучших веб-разработчиков?
Хотя развитие проекта ZendFrameworkматериально поддерживается родительской компанией ZendTechnologies, сам фреймворк предлагается как система с открытым исходным кодом, над развитием которой добровольно трудятся сотни веб-программистов со всего мира.ZendTechnoligies определяет пути развития проекта и выдвигает его ведущих инженеров, которые принимают решение о функциональности конечного продукта. Разработчики, которые используют ZendFramework в своей работе, не должны оплачивать лицензию и могут свободно его скачивать и устанавливать на своём компьютере. Это позволяет снижать стоимость разработки продукта без ущерба для скорости и надёжности.
Более того –любой, кто обнаружит в исходном коде фреймворка какую-либо ошибку, может сообщить о ней команде разработчиков проекта, и эта ошибка очень быстро будет исправлена. Таким образом, каждый может принять участие в коллективной работе по совершенствованию данного проекта, повышая его стабильность и надёжность!
Поддержка сообществом разработчиков – хотите меньше думать над тем, над чем уже думали другие?
Многие используют фотогалереи Flickr на своих страницах – и вы хотите? Многие интегрируют карты GoogleMaps на свои сайты – и вам этого хочется? Многие оформляют свои сайты с использованием flash-технологий – и вы не против этого для своего проекта? Многие предлагают своим посетителям подписку на ленту RSS – вы тоже хотели бы это сделать?
ZendFramework предлагает очень простой способ использования компонентов, реализующих распространённые задачи. В частности, для реализации задач, упомянутых выше, вам потребуются компоненты Zend_Service_Flickr, Zend_Gdata, Zend_Amfи Zend_Feed. Помимо этих, ZendFramework состоит из множества других независимых компонентов, которые используются для оперативного добавления нужной функциональности к своим PHP-проектам. Такой подход к разработке позволяет проводить её гораздо более эффективно в сравнении с написанием собственного кода для каждой отдельной задачи.