Codeigniter это мощный и легкий php фреймворк с низким порогом вхождения, сделанный специально для WEB разработчиков, которые хотят писать четкий и красивый код.
Введение
Основные моменты перед началом работы:
Я использовал самую последнюю на момент написания статьи jQuery версии 2.1.0. Эта версия не поддерживает Internet Explorer 6,7,8. Ссылка на официальный сайт.
Хоть эта статья и для новичков, всё же подразумевается, что читатель уже имеет некоторые представления и познания в Codeigniterи модели MVC, а так же имеет уже настроеный веб сервер и установленный codeigniter.
По ходу статьи я буду ссылаться на официальную документацию Codeigniter и JQuery. Официальная документация хоть и на английском, я всё равно советую использовать именно её, т.к. там самая свежая информация. А английский язык всё равно придётся выучить, если Вы занялись программированием. Самое время начать =).
Перед разработкой корзины, скачайте Codeigniter с официального сайта.
Библиотеку jQuery скачивать не нужно, её мы возьмём из Google CDN. Многие советуют, как и я, подключать jQuery именно из CDN Google, потому что браузер пользователя один раз закеширует эту библиотеку из Google CDN, и дальше, зайдя на Ваш сайт, она уже скачиваться не будет. Следовательно, сайт будет грузиться немного быстрее.
Структура папок и подготовка к работе
Чтобы не запутаться в файлах и папках, создайте у себя такую же структуру папок как у меня. В корне проекта создайте папку assets, а в ней 3 папки: css, img и js. В них мы будем хранить файлы таблиц стилей, изображений и JS скриптов.
В папке js создайте пустой файл cart.js. В этом файле будем писать код javascript. Так же, необходимо создать пустой файл styles.css в папке assets/css. В нём будут храниться основные стили.
Для сброса стандартных стилей браузера будем использовать reset.css. Создайте файл reset.css в папке assets/css и скопируйте туда стили из этой статьи: http://nikitakiselev.ru/post/102.
База данных
Из базы данных мы будем получать товары для интернет магазина. Итак, давайте создадим новую таблицу products
с помощью PHPMyAdmin.
Чтобы не создавать таблицу вручную, просто скопируйте и выполните следующий SQL запрос:
CREATE TABLE IF NOT EXISTS `products` (
`id` int(128) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`price` varchar(32) NOT NULL,
`image` varchar(128) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Таблица products имеет 4 поля:
- id - уникальный индекс товара. Поле является инкрементным (т.е. увеличивается на 1 каждый раз при добавлении товара).
- name - наименование товара. Текстовая строка с максимальной длиной 128 символов.
- price - цена товара. Текстовая строка с максимальной длиной 32 символа.
- image - имя файла с изображением товара. Так же является текстовой строкой с максимальной длиной 128 символов. Все файлы изображений будут храниться в папке
/assets/img/
.
Теперь добавим некоторые товары в таблицу, выполните следующий SQL запрос:
INSERT INTO `products` VALUES(1, 'MacBook Pro', '1199', 'macbookpro.jpg');
INSERT INTO `products` VALUES(2, 'MacBook Air', '1499', 'macbookair.jpg');
INSERT INTO `products` VALUES(3, 'MacBook', '999', 'macbook.jpg');
На этом подготовка базы данных завершена.
Настраиваем Codeigniter
Перед тем как использовать Codeigniter необходимо его настроить. Настройка Codeigniter несложная и сводится буквально к изменению нескольких строчек в конфигурационных файлах.
Откройте файл application/config/config.php
, найдите и измените следующие опции:
$config['base_url'] = "http://example.com/";
Где http://example.com/ - адрес вашего сайта. Обратите внимание на то, что в конце адреса должен обязательно быть слеш (символ /).
$config['global_xss_filtering'] = FALSE;
Это глобальная фильтрация XSS атак. Некоторые советуют включить её, но я не советую, т.к. глобальная фильтрация значительно увеличивает нагрузку на сервер. Лучше фильтровать XSS там, где это нужно. Это и есть одно из преимуществ Codeigniter – использовать ресурсы фреймворка только там, где это нужно.
Т.к. далее мы будем подключать стандартную библиотеку Codeigniter для работы с корзиной покупок (Cart), необходимо изменить еще одну настройку:
$config['encryption_key'] = 'jd_srtv234';
Эта настройка относится к библиотеке Sessions, которую использует библиотека Cart. Мы указываем ключ, которым будет дополнительно шифроваться данные в сессии. Ключ можете вводить любой.
Теперь откройте файл application/config/database.php
и введите информацию о используемой БД:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "ci_cart";
$db['default']['dbdriver'] = "mysql";
Здесь ci_cart
– это название базы данных (в ней мы создавали таблицу products). Если у Вас название БД другое, то измените это значение.
Теперь откройте файл application/config/routes.php
и измените название контроллера по умолчанию на cart. Сам контроллер создадим в следующей статье.
$route['default_controller'] = "cart";
Теперь хорошо бы изменить еще один конфигурационный файл Codeigniter - application/config/autoload.php
. В нём хранятся настройки автозапуска библиотек, хелперов, моделей и т.д. Те модули, которые используются часто во всех контроллерах Codeigniter разумно помещать в автозагрузку.
Например, если приложение использует базу данных, то почему бы не поместить подключение к базе данных в автозагрузку, чтобы не задумываться больше об этом. Так же, в нашем случае, корзина покупок обязательна в интернет магазине, и её функции используются на сайте довольно часто – так поместим её в автозагрузку!
$autoload['libraries'] = array('cart', 'database', 'session');
$autoload['helper'] = array('url', 'form');
Итак, что мы добавили в автозагрузку.
Библиотеки:
- database – Позволяет Вашему приложению подключаться к базе данных и использовать её функции.
- cart – Встроенная в Codeigniterкорзина покупок. Подробнее
- session - библиотека работает с сессиями. Сессии используются для хранения данных текущего пользователя. Мы их будет использовать для вывода сообщений пользователю. Подробнее
Помощники (хелперы):
- url – позволяет получить доступ к функциям, которые помогают создавать и работать с URL ссылками. Подробнее.
- form – Помогает создавать WEB формы и её элементы. Подробнее.
На этом первая часть закончена.
Читать Делаем корзину покупок с помощью Codeigniter и JQuery. Часть 2. Вы так же можете скачать исходный код этого урока.