====== Пример 2. Как создать электронный магазин при помощи Limb ====== ===== Цели данного примера ===== * Показать использование пакета WEB_APP на реальной задаче. * Показать, как в Limb3 интегрируются пакеты MACRO, DBAL, ACTIVE_RECORD, WEB_APP и CMS. * Рассказать о внутреннем устройстве приложения, выполненном на базе Limb3. Код данного примера можно найти в разделе c [[http://examples.limb-project.com|примерами использования Limb3]] ===== Необходимые знания ===== Мы полагаем, что мы уже выполнили [[basic|первый пример создания приложения на базе Limb3]] и имеете начальное представление, что такое ACTIVE_RECORD и MACRO. Плюсом будет, если вы кратко познакомитесь с возможностями следующих пакетов: * [[limb3:ru:packages:active_record|ACTIVE_RECORD]] * [[limb3:ru:packages:macro|MACRO]] * [[limb3:ru:packages:cms|CMS]] Особо вчитываться пока может и не стоит. В процессе описания примера мы постараемся указывать на все сложные и новые моменты, которые могут быть для вас незнакомыми по сравнению с первым примером. Если что-то требует большого описания, мы будем давать ссылки на соответствующие страницы документации. ===== Что из себя будет представлять пример ===== Пример - это электронный магазин, который будет позволять пользователям делать покупки из небольшого списка товаров и отслеживать состояние заказа. Приложение предусматривает регистрацию пользователей, разделение пользователей на покупателей и администраторов, хранение состояний в сессии, поиск по товарам и многое другое. Все это позволит рассмотреть Limb с различных сторон, а также показать некоторые типичные приемы работы с ним. Мы не будем разрабатывать административную панель с нуля, а возьмем для этого пакет [[limb3:ru:packages:cms|CMS]]. ===== Системные требования ===== * Операционная система: *nix, Windows 98/ME/2000/XP * Веб-сервер: Apache 1.3+ (с подключенным модулем mod_rewrite) * PHP: PHP 5.1.4+ * Сервер базы данных %%MySQL%% 4.1+ или БД [[http://sqlite.org/|SQLite]] Если ваш веб-сервер обслуживает несколько доменов, то проект необходимо будет зарегистрировать в списке виртуальных хостов. Иначе же надо настроить %%DocumentRoot%% на директорию, где находятся файлы проекта. ===== Необходимые пакеты Limb ===== Для выполнения данного примера нам необходим пакеты [[limb3:ru:packages:cms|CMS]], [[limb3:ru:packages:web_app|WEB_APP]], [[limb3:ru:packages:wysiwyg|WYSIWYG]], а также пакеты, от которых они зависят. Информацию о том, как получить пакеты Limb в разделе [[limb3:ru:how_to_download|"Где и как скачать Limb3"]]. ===== Где взять готовое приложение? ===== Исходные коды примера можно получить с сайта GitHub - http://github.com/limb-php-framework/limb-example-shop/downloads Мы будем использовать строку **shop** для указания пути, где лежат файлы готового приложения. Они могут нам потребоваться в процессе выполнения примера - мы будем брать оттуда некоторые файлы изображений, css-файлы и некоторые другие ===== Далее ===== - [[.shop:step1|Шаг1. Более подробно о функциональности приложения]] - [[.shop:step2|Шаг2. Запуск приложения. База данных. Базовые шаблоны]] - [[.shop:step3|Шаг3. Пользователи, и все, что с ними связано]] * [[.shop:step3-1|Шаг3.1 Регистрация пользователей]] * [[.shop:step3-2|Шаг3.2 Аутентификация пользователей]] * [[.shop:step3-3|Шаг3.3 Отображение профайла пользователя]] * [[.shop:step3-4|Шаг3.4 Управление списком пользователей]] - [[.shop:step3|Шаг3. Создание и отображение списка товаров для администраторов]] - [[.shop:step5|Шаг5. Отображение списка товаров для покупателей. Поиск товаров.]] - [[.shop:step6|Шаг6. Работа покупателей с корзиной заказа]] - [[.shop:step7|Шаг7. Оформление и сохранение заказа в базе данных]] * [[.shop:step7-1|Шаг7.1. Модель, связанная с заказами]] * [[.shop:step7-2|Шаг7.2. Оформление заказа]] - [[.shop:step8|Шаг8. Работа с заказами]] - [[.shop:step9|Шаг9. Рекомендации по дальнейшему изучению]]