последовательность реализации функций на крупномасштабном сайте, - PullRequest
1 голос
/ 17 октября 2011

Большую часть своей жизни я был маркетологом.Тем не менее, я недавно решил переключиться и изучить программирование для амбициозного стартапа, над которым я работаю.По сути, проект основан на элементах социальных сетей (подписка, подача, публикации, уведомления и т. Д.), Но с изюминкой.Я хотел знать, в каком порядке я должен написать код для инфраструктуры сайта.Я подумал, что сначала я запишу всю схему базы данных на MYSQL, затем напишу все запросы к базе данных на PHP, затем создам страницу регистрации и затем закодирую весь бэкэнд сайта на PHP.Правильный ли этот подход?Я буду признателен за любые направления, которые вы можете дать мне.Должен ли я начать с бэкэнда?Каковы некоторые из компонентов инфраструктуры высокомасштабируемого веб-сайта, которые мне лучше посоветовать делать на C ++, а не на PHP?

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

То, что вы описываете, является классической Модель водопада .Это почти никогда не работает, так как спецификации будут меняться, потому что комбинация

  • Измененные требования клиента (запуск в вашем случае)
  • Клиент, взаимодействующий с альфа-версиями программного обеспечения
  • Вы понимаете, что что-то может быть решено по-другому

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

Для каждой функции определите, какие поля базы данных необходимо добавить.Можете ли вы использовать существующие записи базы данных или реструктурировать базу данных для размещения новых таблиц и строк?

Затем вы можете выполнить следующие три шага одновременно или один за другим:

  • Изменить модель объектов базы данных в вашем коде.Базовые тесты модели позволят вам в дальнейшем сэкономить массу седых волос.
  • Добавьте контроллер для выполнения новых действий или измените существующий.Опять же, тесты контроллера необходимы, чтобы убедиться, что вы не нарушите эту функцию позже.
  • Добавьте или измените представление (HTML / CSS / JavaScript).Вы можете начать с представления, если вы не уверены, что именно должна делать функция, и представить руководству черновую (только HTML) версию.Если запросы на изменение начинают относиться к точным позициям или цветам элементов, вы знаете, что находитесь на правильном пути.Вы можете протестировать View вручную (в разных браузерах) и / или с помощью Selenium .

Не требуются ни строгие MVC, ни тесты, но они значительно упрощают разработку программного обеспечения и позволяютВы должны быть уверены, что ваш код действительно будет работать в производстве.

0 голосов
/ 17 октября 2011

В PHP есть несколько замечательных функций для взаимодействия с базой данных MySQL и отправки команд SQL на сервер базы данных.

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

Получение базы данныхдо этой стадии известна как 4-я нормальная форма (4NF) или нормальная форма Бойса Кодда (BCNF).

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

Предполагая, что вы используете PHP mysql_query ( string $query [, resource $link_identifier ] ) (http://www.php.net/manual/en/function.mysql-query.php), вы можете затем загрузить данные SQL в массив и распечатать данные среди некоторого HTML.

Как только вы получитеВ этом случае вы также можете использовать глобальную переменную PHP $_SESSION для отслеживания любых зарегистрированных пользователей.Этот глобальный файл использует cookie для отслеживания аутентифицированных пользователей и очень полезен для входа в систему.Вам потребуется реализовать код для входа в систему, чтобы сопоставить имя пользователя и пароль, а затем создать сеанс, если это хороший проход.

Надеюсь, это поможет!:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...