Вы должны начать с чтения и тестирования Zend Framework.Поскольку это действительно просто фреймворк и коллекция библиотек и опыта давних разработчиков.
Некоторые говорят, что вы должны попытаться построить свой собственный фреймворк, а затем выбросить его в корзину и вернуться к ZF (Zend Framework).Это зависит от того, сколько времени (лет) у вас есть.Но это правильно, легче понять хороший выбор, если вы раньше злились на плохих: -)
Никто в этом мире не может построить хорошую архитектуру самостоятельно, вам понадобится опыт других, чтобысобственные новые ошибки, а не старые.Никто не был достаточно умен в прошлом, чтобы помешать нам всех этих CMS (phpNuke, и многое другое, но я не хочу обидеть некоторых людей, работающих над большими CMS, которые все еще там сегодня).
Такиспользуйте модель ZF MVC, прочитайте (действительно) документацию ZF (даже если вы не будете ее использовать).Поймите, почему некоторые из этих инструментов очень важны для безопасности.
Важные вещи, которые стоит отметить для хорошего приложения PHP:
не делятся ничем : по умолчанию PHP не позволяетхранить данные между запросами пользователя.Таким образом, промежуточное хранение / долгосрочное хранение / хранение сеанса должны будут храниться где-то:
- cookie (например, идентификатор сеанса)
- файлы сеанса или записи сеанса в базе данных илизаписи сеансов в кеше
- кэш уровней приложений (например, memcached) * база данных 1020 *
- (и почему бы не выбросить MySQl для PostgreSQL, проверьте разницу!)
- кэш уровней до приложения(обращает кэш прокси, лаки и т. д., кеш браузера)
фильтровать входы / выходы : если вы хорошо используете Zend_Form, Zend_Filter, Zend_Validators и всегда используетеescape (), по вашему мнению, эта часть безопасности должна быть в порядке (и это большая проблема в большинстве приложений PHP).Рассматривайте свою базу данных как один из выходных данных, html-страницу как другую, json как другую и т. Д. Ваши входные данные также многочисленны, пользовательские данные, файлы cookie, возможно, некоторые другие базы данных, внешние веб-сайты и т. Д.
избегать абсолютного URL : старайтесь всегда использовать относительный URL.По крайней мере, всегда используйте помощников URL, предоставляемых каркасом, для создания ваших URL.
получите красивую карту URL : если вы можете разрезать свое приложение на разные части, просто прочитав URL, вы поможете себев течение дня вам нужно будет построить более сложную аппаратную платформу для вашего приложения.Администраторы должны будут установить некоторые файлы конфигурации для обратного прокси-кэша перед вашим приложением.Смогут ли они обнаружить необходимые для https части?все ваши статические файлы доступны по определенному пути?Можем ли мы определить политику времени кеширования на основе URL-адреса?
шаблонов проектирования : никто не достаточно умен, чтобы понять все последствия своего выбора кодов и то, как этот код должен будет развиваться,Конструктивные шаблоны предназначены для сбора хороших оценок.Если ваша проблема не имеет шаблонного решения, то, возможно, вы не понимаете свою проблему :-).Честно говоря, иногда может быть более простой и быстрый способ, но вы должны знать шаблоны, прежде чем решите их не использовать.
Многие эксперты PHP сделали свой код без использования каркасов (так как большинство фреймворков было не оченьна самом деле хорошо).Но качество кода в мире PHP плохое, на самом деле, все же так просто сделать XSS-инъекцию на многих сайтах.Пришло время что-то улучшить, не доверяйте примерам "Привет, мир!", Создать хороший веб-приложение сложно: -).