«Молодой учёный»
. № 17 (412)
. Апрель 2022 г.
356
Информационные технологии
при этом должен выполниться метод в соответствующем кон-
троллере (controller). Например, главная страница имеет адрес
«/», имя соответствующего маршрута—index, а метод index, ко-
торый при этом выполнится, прописан в контроллере Main-
Controller и отвечает за загрузку категорий товаров из базы
данных на главную страницу.
Методы для отправки запросов в БД об изменении коли-
чества товаров в корзине или оформлении заказа тоже пропи-
саны в контроллерах. Они служат для связывания действий,
совершаемых пользователем и операций, происходящих в сер-
верной части программы. MainController загружает данные на
ключевые страницы сайт, такие как главная, страница с катего-
рией, личный профиль, результаты поиска, страницы с инфор-
мацией. Это список категорий, общая информация о магазине
и о том, как им пользоваться, о производителях и особенностях
доставки и оплаты. BasketController отвечает за выполнения
действий в корзине, добавление товара, удаление, изменение
количества позиций. LoginController и RegisterController явля-
ются встроенными классами, в них прописана логика для осу-
ществления авторизации и регистрации пользователя.
Каждая сущность в БД представляет собой класс-модель
(models) со своими свойствами и методами, совершающими,
к примеру, подсчеты стоимости текущего заказа или количе-
ства товаров в корзине или же возвращающие некоторые свой-
ства объекта-модели, например, для товара (класс Product) его
категорию (метод category()).
На схеме представлен обобщенный алгоритм авторизации
и регистрации покупателя. Действия проверки на авторизован-
ность совершаются посредником (middleware) Authentication
и вызываются при переходе по тому или иному маршруту.
После того, как метод выполнится, данные, которые были
при этом получены отправляются тем же контроллером в пред-
ставление (view) и размещаются в полях страницы для ото-
бражения пользователю. Например, список категорий, список
и количество товаров в корзине для текущего пользователя,
стоимость заказа, полученные контроллером BasketController,
пользователь может наблюдать в представлении basket (кор-
зина) и в свою очередь отправлять новые запросы при по-
мощи данного интерфейса (удаление товаров в корзине или
изменение их количества) или переходить к другому представ-
лению, то есть на другую страницу сайта, куда другим контрол-
лером будут подгружены уже новые данные.
Результат работы программы с точки зрения покупателя
представлен на рис. 3.
Это только один из возможных способов обхода по сайту. На
главной странице происходит авторизация, затем покупатель
обращается к списку товаров категории Молоко. Далее действия
переносятся в корзину, после чего пользователь приступает
к отправке заказа и переносится обратно на главную страницу.
Благодаря четкому распределению обязанностей между мо-
дулями программы, все страницы загружаются вовремя, не
возникает непредвиденных ошибок и проблем с сервером.
В заключение, стоит отметить, что из-за слабой популяр-
ности продажи фермерских товаров в сети интернет конкурен-
тоспособность проекта по созданию данного интернет-мага-
зина довольно высока.
Литература:
1. Осипов Д. Технологии проектирования баз данных.— М.: ДМК Пресс, 2019.
2. Адель Ф. Архитектура сложных веб приложений. С примерами на Laravel. Издательство: Leanpub 2020.
Рис. 3.
Достарыңызбен бөлісу: