Применение языка PHP, СУБД MySQL и фреймворка CodeIgniter для разработки динамических веб-сайтов
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ы, которые посвящены фреймворку CodeIgniter (в том числе и англоязычные). На этих сайтах есть огромное количество нужной информации.
3. Разработка структуры базы данных
Разработка структуры БД предполагает полное описание всех атрибутов сущностей (полей таблиц). Каждая таблица - массив из однородных элементов, которые принято называть записями. Запись - неделимая единица информации в БД, но можно сформировать такой запрос, чтобы получить какую-то часть этой информации.
Запись может содержать в себе одну или несколько именованных полей. Они задаются при создании таблицы. Каждое из полей имеет определённый тип (например, целое число, текст и другие).
Во все таблицы можно добавлять записи, удалять их, делать поиск по таблицам и выводить нужную информацию. Все эти действия выполняются с помощью SQL (Structured Query Language) запросов SELECT, DELETE, CREATE, INSERT.
3.1 ER-диаграмма
Исходя из требований к созданию веб-сайта, была составлена структура БД.
Центральным объектом в ER-диаграмме (Рис.1) разрабатываемого сайта является таблица products.
Рис.1. ER-диаграмма.
Все таблицы имеют идентификатор. Каждый товар обладает связями с категориями, производителями, картинками. Один товар может принадлежать к нескольким категориям, поэтому была создана таблица product_category, в которой определяется принадлежность товара к определённой категории. Производитель может изготавливать товары из разных категорий. На некоторые товары могут распространяться скидки.
3.2 Создание БД с помощью PHPMyAdmin
Для работы с БД и разработки ее структуры и наполнения существует большое количество приложений, в частности, PHPMyAdmin, MySqlManager, MySQL Administrator, MySQL GUI Tools и другие. Из всех приложений для работы с базой данных выбор был сделан в пользу PHPMyAdmin, так как он обладает следующими преимуществами:
- Бесплатное распространение. PHPMyAdmin является свободно распространяемым продуктом.
- Актуальность. Большинство разработчиков используют PHPMyAdmin в качестве приложения для работы с СУБД.
- Понятный интерфейс. Можно обходиться без непосредственного ввода SQL команд и посмотреть результат.
- Наличие документации. Существует огромное количество пособий по работе с PHPMyAdmin.
- Входит в состав стадартной поставки веб-сервера XAMPP.
Для работы с PHPMyAdmin, необходимо выполнить следующую последовательность действий:
.С помощью XAMPP запустить MySql;
2.Перейти на страницу с PHPMyAdmin (
.Создать пользователя, который сможет работать с созданной БД, обладая всеми привилегиями. Во вкладке привилегии добавить нового пользователя (Рис.2).
Рис.2. Добавление нового пользователя.
4.Заполнить поле имя пользователя, в поле хост выбрать localhost, создать пароль (Рис.3).
Рис.3. Форма заполнения.
5.Выбрать все глобальные привилегии (Рис.4).
Рис.4. Глобальные привилегии.
На главной странице PHPMyAdmin в поле "Новая база данных" необходимо вписать название БД "shop". Для создания таблиц в поле "Создать новую таблицу в базе данных shop", вписать названия таблиц. Для заполнения нужной таблицы, выбрать её название и нажать на вкладку "Вставить".
4. Фреймворк Codeigniter. Настройка и совмещение c веб-сервером XAMPP
Основой работы CodeIgniter является использование подхода MVC (Model-View-Controller, Рис.5) - архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие. Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента.
Контроллер (Controller) отправляет запрос в модель (Model), которая изменяет своё состояние и предоставляет данные (обычно для View). Представление (View) отвечает за отображение информации. Поведение (Controller) интерпретирует данные, которые вводились пользователем, и информируют модель и представление о необходимости соответствующей реакции. Примером в данном случае может служить следующая последовательность: catalog/categorydetails/1. В этом примере контроллер catalog загружает модель categorydetails, которая в свою очередь принимает id категории и в соответствии с ней выводит все товары, принадлежащие этой категории.
Рис.5. MVC-модель.
Без применения CodeIgniter и дополнительных библиотек, содержащих регулярные выражения, ссылки, по которым осуществляется переход на другие страницы, будут иметь примерно такой вид: кон