Использование PHP фреймворков в разработке сайта
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
возможности PHP 5.3, включая пространство имен и замыкания. Ключевые особенности:
Поддержка фреймворка для тестирования PhpUnit;
Поддержка отладки PHP и JavaScript кода;
Удаленная выгрузка по FTP, SFTP, сетевому диску с автоматической синхронизацией;
Поддержка спецификаций HTML5 и EcmaScript 5.
Интеграция с системами контроля версий:CVS, SVN, Git, Perforce, Mercurial;
Интеграция с баг-треккерами.
2.2 Разработка дизайна проекта и верстки
Хороший дизайн может принести владельцу сайта много преимуществ перед конкурентами и материальную выгоду. В зависимости от того, какие цели ставит перед собой компания при создании сайта, дизайн может подтвердить или подчеркнуть статус компании - владельца, создать дополнительную рекламу компании или услугам, представить узнаваемый бренд и т.д.
Дизайн сайта выполнен в серебристо-пурпурных тонах (рис. 2.3). Серебристый цвет символизировать строгость, стиль, силу. Пурпурный подчеркивает стиль и дополняет его вкусом. Дизайн умеренно консервативен, традиционен и говорит о мужском стиле. Шапка сайта с логотипом и баннером отражает название и выгодное коммерческое предложение.
2.3 Проектирование и создание базы данных
Во время проектирования база данных были выделены следующие таблицы:
Таблица категорий Category, которая хранит в себе название категорий на 3-х языках в древовидном виде Adjacency List: titleRu, titleEn, titleRo и parent;
Таблица товаров Price с названиями и описаниями на 3-х языках, цену, размеры, наличие товара, а так же дату добавления и поле для связи с категорией: titleRu, titleRo, titleEn, descrRu, descrRo, descrEn, idCategory, cost, time, present, sizes;
Таблица для хранения пути к фотографиям Photo с полем для связи с товаром: idItem, path;
Таблица для хранения текстовых страниц Text с названиями и описаниями на 3-х языках, а так же красивым адресом для ссылок: titleRu, titleRo, titleEn, descrRu, descrRo, descrEn, name.
Помимо перечисленных выше полей каждая таблица обладает первичным ключом id для связи с другими таблицами и удобства управления записями.
2.4 Cоздание основы приложения и конфигурация
При создании проекта использовался виртуальный хост в denwer, расположенный по пути z:\home\magazin.local\www. Использование виртуального хоста облегчает разработку и тестирование проекта.
,frameworkz:\home\magazin.local\www.denwer,,,,z:\home\magazin.local\www\framework\yiic.bat,php.exephp:z:\usr\local\php5\php.exe.:">Для создания приложения на основе фреймворка yii, необходимо загрузить последнюю версию с официального сайта www.yiiframework.com , распаковать и скопировать папку framework в z:\home\magazin.local\www. Так как для установки под denwer, инструкция отличается от официальной, то, перед установкой, необходимо отредактировать файл z:\home\magazin.local\www\framework\yiic.bat, указав в нем вместо php.exe полный путь к php: z:\usr\local\php5\php.exe. После этого необходимо запустить командный интерпретатор и ввести следующие команды:
z::\>cd\home\magazin.local\www:\home\magazin.local\www>framework\yiic.batwebappmagazin">C:\Users\root>z::\>cd \home\magazin.local\www:\home\magazin.local\www>framework\yiic.bat webapp magazin
При появлении вопроса Create a Web application under Z:\home\magazin.local\www\magazin? [yes|no] необходимо нажать y, после чего будет создан каркас приложения и выведен список созданных файлов (рис. 2.4).
Созданная основа обладает рядом базовых функций, такими как встроенная авторизация, вывод статических страниц и т.д.
Для удобства переноса на другой web-сервер или хостинг, после создания, каркас приложения был вынесен из папки magazin на один уровень выше, а в index.php и index-test.php исправлен путь к фреймворку.
Файл конфигурации приложения расположен по следующему пути: protected/config/main.php. Файл описывает настройки приложения в виде ассоциативного php-массива. Для настройки подключения к бд был настроен компонент приложения db в секции components:
db=>array(
// строка в формате dsn для подключения к БД
connectionString => mysql:host=localhost;dbname=magazin,
// имя пользователя
username => root,
password => ,
charset => utf8,
),
2.5 Генерация каркаса кода с помощью кодогенератора Gii
После того как основа приложения создана и настроена, можно приступить к разработке контроллеров и моделей. Начиная с версии 1.1.2, фреймворк доступен вместе с встроенным генератором кода Gii. Gii позволяет генерировать модели на основе таблиц в базе данных, а так же CRUD-контроллеры для основных действий по управлению записями, такими как добавление записи (Create), просмотр списка записей, просмотр записи (Read), редактирование записи (Update) и удаление (Delete). Для активации Gii в файл конфигурации приложения было добавлено описание подключения модуля gii:
gii=>array(
system.gii.G