2010-12-16 2 views
6

Знаете ли Вы, что бы Вы знали об этом отдыхе -
1. Мой Первый раз Строительство «большого» сайта.
2. Работа на PHP
3. Не имеют ни малейшего представления о том, как масштабируемая сайт может быть, хотя я читал совсем немного об этом.
4. Готов использовать рамки, если он дает мне большую гибкость в архитектуре, обеспечивая при этом мне преимущества, как безопасность, производительность и т.д.Что следует учитывать при внедрении оригинальной архитектуры сайта

Главный вопрос заключается в том -
Пусть вы были на моем месте и хотели реализовать свою оригинальную архитектуру, какие вещи вы будете осторожны?
Как вы пойдете об обеспечении безопасности? В любом случае вы можете импортировать и интегрировать сторонние модули безопасности на свой сайт?

Я знаю, что я делаю недостатки ... просто хочу знать, что они в первую очередь ... их появление будет следующим. Спасибо :].

+1

Какова цель реализации вашей собственной структуры? Почему бы не использовать существующую? – Earlz 2010-12-16 05:59:46

+1

Я хочу другого человека колеса. Хотя я заявляю, что готов использовать фреймворк, если он предлагает мне гибкость. – Sussagittikasusa 2010-12-16 06:03:13

ответ

5

Вы должны начать с чтения и тестирование 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 сложно :-).

2

Всякий раз, когда я начинаю новый проект сайта (особенно с использованием PHP), я планирую его на бумаге. Чтобы ваши файлы были аккуратными и организованными (архитектура), целесообразно следовать формату MVC. Read more about MVC Это такая организационная система, которую я использовал и которую используют многие профессионалы.

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

Кроме того, комментарий в вашем коде ОЧЕНЬ важен, у вас никогда не будет достаточного количества комментариев, и это даже более верно, когда вы кодируете большой веб-сайт, потому что вы не можете запомнить все это, и это очень поможет вам делая изменения и масштабируя ваш веб-сайт.

Что касается безопасности, существуют методы, которые можно использовать для предотвращения угроз безопасности. Я прочитал несколько статей о безопасности, когда речь заходит о приложениях PHP. Here is one.

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

Раньше я кодировал большие веб-сайты, основанные на PHP/MYSQL, и я стал жертвой множества ошибок, пожалуйста, узнайте из моих ошибок, планируйте свою файловую структуру и как вы планируете выполнение определенных пользовательских взаимодействий ,

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

Надеюсь, это поможет! Если у вас есть вопросы, не стесняйтесь спросить.

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