====== Этапы разработки ====== PHP-разработчик обычно создает проекты (сайты) разного масштаба и функционала. В этом разделе мы будем описывать общие подходы при разработке. По своей сути, любой проект – это отображение или управление данными. ===== Проектирование ===== Разработчик решает задачи. После постановки задачи не нужно сразу бросаться решать её. Для начала нужно понять глубину задачи и все возможные проблемы при её решении. В этом поможет блокнот с ручкой. Если сразу начать писать необдуманный код, то в большинстве случаев его придется переписывать и не по одному разу. Для начала, откроем тестовый редактор и с помощью нумерованных списков опишем структуру и объектную модель. На этапе написания такого документа уже становится понятно, с чем мы будем иметь дело. В этом же документе будет записывать возникшие вопросы (пример документа). На основе полученного документа будем проектировать структуру БД. База данных – первична. Грамотно спроектированная база данных – уже половина успеха проекта. После окончания данного этапа у вас должен появиться sql-скрипт для начального создания БД. ===== Разработка ===== Процесс разработки можно разбить на следующие задачи: - Создание проекта с помощью MF.Devenv (ссылка на описание данного инструмента). - Генерация объектной модели и классов для работы с БД. - Черновая генерация административного интерфейса (VT). - Доработка административного интерфейса. - Создание основной части сайта (FE). ===== Тестирование ===== Проверьте FE во всех последних браузерах. Помните, что в пользовательском вводе вам может прийти все что угодно, но только не то, что вы ожидаете (включая значения переменных в $_SERVER). Notice – это ошибка. На сервере по умолчанию показываются все ошибки. Должна быть ответственность за код. Изменяя CSS или JS файл помните, что он, возможно, уже закешировался браузером – при каждой новой версии файлов должен быть новый путь для них. Перед тем, как зафиксировать изменения в системе контроля версий, внимательно изучите разницу между тем, что было и между тем, что стало (например, svn diff). При фиксации кода нужно осознавать внесенные изменения и их значимость. Обязательно оставляйте сообщение о внесенных изменениях. Пишите без багов :) ===== Внедрение ===== Основное правило – не править ничего на сервере. Все изменения должны фиксироваться в системе контроля версий. Проект на сервере – только из системы контроля версий. ====== ====== [[start:процесс_обработки_urls|Далее >>>]]