Содержание
Пример 2. Как создать электронный магазин при помощи Limb
Цели данного примера
- Показать использование пакета WEB_APP на реальной задаче.
- Показать, как в Limb3 интегрируются пакеты WACT, DBAL, ACTIVE_RECORD и WEB_APP.
- Рассказать о внутреннем устройстве приложения, выполненном на базе Limb3.
Код данного примера можно найти в разделе c примерами использования Limb3
Необходимые знания
Мы полагаем, что мы уже выполнили первый пример создания приложения на базе Limb3 и имеете начальное представление, что такое ACTIVE_RECORD и WACT.
Плюсом будет, если вы кратко просмотрите содержимое следующих разделов:
Особо вчитываться пока может и не стоит. В процессе описания примера мы постараемся указывать на все сложные и новые моменты, которые могут быть для вас незнакомыми по сравнению с первым примером. Если что-то требует большого описания, мы будем давать ссылки на соответствующие страницы документации.
Что из себя будет представлять пример
Пример - это электронный магазин, который будет позволять пользователям делать покупки из небольшого списка товаров и отслеживать состояние заказа. Приложение предусматривает регистрацию пользователей, разделение пользователей на покупателей и администраторов, хранение состояний в сессии, поиск по товарам и многое другое. Все это позволит рассмотреть Limb с различных сторон, а также показать некоторые типичные приемы работы с ним.
Системные требования
- Операционная система: *nix, Windows 98/ME/2000/XP
- Веб-сервер: Apache 1.3+ (с подключенным модулем mod_rewrite)
- PHP: PHP 5.1.4+
- Сервер базы данных MySQL 4.1+ или БД SQLite
Если ваш веб-сервер обслуживает несколько доменов, то проект необходимо будет зарегистрировать в списке виртуальных хостов. Иначе же надо настроить DocumentRoot на директорию, где находятся файлы проекта.
Необходимые пакеты Limb
Для выполнения данного примера нам необходим пакеты WEB_APP, WYSYWIG, а также пакеты, от которых они зависят. Информацию о том, как получить пакеты Limb в разделе "Где и как скачать Limb3".
Где взять готовое приложение?
Исходные коды примера можно получить через SVN:
svn co https://svn.limb-project.com/3.x/examples/shop
Мы будем использовать строку shop для указания пути, где лежат файлы готового приложения. Они могут нам потребоваться в процессе выполнения примера - мы будем брать оттуда некоторые файлы изображений, css-файлы и некоторые другие.
Далее
-
- Каркас приложения
- Таблицы базы данных
- Базовые шаблоны панели управления и фронтальной части
-
- Часто используемые шаблоны панели управления
- Шаблоны, контроллер и модель для управления списков товаров
- Загрузка пользовательских файлов (file upload)
-
-
- Создание класса User
- Создание и редактирование новых пользователей
-
- Знакомство с тулкитом (Toolkit)
- Работа с сессией в Limb
- Хранение данных пользователя в сессии
- Аутентификация пользователей
- Передача произвольных сообщений в шаблон (FlashBox)
-
- Общая схема устройства приложения на базе Limb
- Цепочка фильтров
- Взаимодействие различных компонентов приложения
- Создание своей частной цепочки фильтров
- Создание фильтра, проверяющего необходимые права доступа
-
- Различные способы передачи данных в шаблон
-
-
- Создание и использование своих find()-методов в шаблонах
- Вывод алфавитного списка.
- Форма для поиска товаров.
-
- Классы Cart, OrderLine
- Добавление товаров в корзину
- Отображение содержимого корзины
- Изменение состояния корзины (удаление элементов, полная очистка)
-
-
- Поддержка в lmbActiveRecord отношений один-ко-многим, много-ко-многим и один-к-одному.
- Класс Order, изменения в классе OrderLine и User.
-
- Предварительное заполнение полей формы
- Команды как еще одна форма повторного использования кода контроллеров.
-

Обсуждение