Вы должны начать с чтения и тестирование Zend Framework. Поскольку это действительно просто структура и коллекция библиотек и опыт давних разработчиков.
Somes говорит, что вы должны попытаться создать свой собственный каркас раньше, а затем бросить его в корзину и вернуться к ZF (Zend Framework). Это зависит от того, сколько времени (лет) у вас есть. Но это правильно, что лучше понять хорошие варианты, когда у вас есть безумные плохие до :-)
Никто в этом мире не может построить хорошую архитектуру самостоятельно, вам понадобится опыт других, чтобы сделать свой собственный новый ошибки, а не старые. В прошлом никто не был достаточно умен, чтобы предотвратить нас от всех тезисов CMS (phpNuke и многое другое, но я не хочу причинять вред некоторым людям, работающим на большой CMS, которые все еще существуют сегодня).
Так что используйте модель ZF MVC, прочитайте (действительно) документацию ZF (даже если вы ее не используете). Поймите, почему некоторые из этих инструментов очень важны для безопасности.
Большие вещи, чтобы отметить хорошую PHP приложение:
доля ничего: по умолчанию PHP как не способ хранения данных между запросами пользователей. Так вещи хранения среднесрочной хранении/длительное хранение/сессий должны храниться где-то:
- печенья (как идентификатор сеанса)
- файлов сеансы или сеансы запись в базах данных записей или сеансов в кэше
- уровней кэша приложений (например, Memcached)
- базы данных (и почему не метание MySQl для PostgreSQL, не проверить разницу!)
- уровни предварительного кэша приложений (реверс прокси-кэша, лаковые и такие, кэш браузера)
входы фильтра/выходы выхода: Если вы хорошо используете Zend_Form, Zend_Filter, Zend_Validators, и если вы всегда используете escape() в своих представлениях, эта часть безопасности должна быть в порядке (и это большой большой проблема в большинстве PHP-приложений). См. Вашу базу данных как одну из выходных, html-страницу как другую, json как другую и т. Д. Ваши данные также многочисленны, пользовательские входы, файлы cookie, а также некоторые другие базы данных, внешние веб-сайты и т. Д.
избегать абсолютного URL-адреса: старайтесь всегда использовать относительный URL. По крайней мере, всегда используйте помощники URL-адресов, предоставленные каркасом, для создания ваших URL-адресов.
получить хорошую карту url: если вы можете разрезать свое приложение в разных частях, просто прочитав URL-адрес, вы поможете себе в течение дня, когда вам понадобится построить более сложную аппаратную платформу для вашего приложения. Администраторам необходимо будет установить некоторые файлы конфигурации для обратного прокси-кеша перед вашим приложением. Смогут ли они обнаружить нужные детали https? все ваши статические файлы доступны по определенному пути? Можем ли мы определить политику кэша, основанную на URL-адресе?
шаблоны проектирования: никто не достаточно умен, чтобы понять все последствия его выбора кодирования и способ, которым этот код должен будет развиваться. Модели проектирования должны собирать хорошие оценки.Если у вашей проблемы нет дизайна шаблона, то, может быть, вы не понимаете свою проблему :-). Честно говоря, иногда бывает проще и быстрее, но вы должны знать шаблоны, прежде чем решите не использовать их.
Многие эксперты PHP сделали свой код без использования фреймворков (поскольку большинство фреймворков на самом деле не очень хорошо). Но качество кода в мире PHP плохое, действительно, до сих пор так легко сделать XSS-инъекцию на многих веб-сайтах. Пришло время получить что-то получше, не доверяйте мировым примерам привет, создание хорошего webapp сложно :-).
Какова цель реализации вашей собственной структуры? Почему бы не использовать существующую? – Earlz 2010-12-16 05:59:46
Я хочу другого человека колеса. Хотя я заявляю, что готов использовать фреймворк, если он предлагает мне гибкость. – Sussagittikasusa 2010-12-16 06:03:13