Структура проекта

Ниже вы можете ознакомится с описанием каталогов и файлов, из которых состоит проект. В списке присутствуют лишь те файлы или директории, которые могут быть полезны обычному пользователю.

  • app - В этой директории хранится весь основной программный (PHP) код магазина. Это мозг L-Shop'а. Чтобы пользователь не делал в магазине, все обрабатывается именно здесь.

  • bootstrap - С этой папки начинается работа всей системы. Файлы внутри вызываются непосредственно из index.php. Также здесь хранится кэш, необходимый для более быстрого запуска фреймворка.

  • config - В config находится вся конфигурация системы.

    • app.php - Этот файл содержит основные настройки приложения. Нужная конфигурация автоматически подхватывается из .env, поэтому вам может понадобится редактировать этот файл только в самом крайнем случае.

    • shop.php - Файл с настройками, относящимися непосредственно к магазину.

    • purchasing.php - Конфигурационный файл с настройками покупок.

    • monitoring.php - В этом файле хранятся настройки мониторинга серверов.

  • database - Директория database содержит данные, необходимые для миграции, заполнения базы данных.

    • migrations - Директория с миграциями базой данных.

    • seeds - Здесь хранится логика заполнения базы данных первоначальной информацией.

  • public - В public хранятся собранные стили, javascript-код, картинки и тд. Одним словом все, что отвечает за внешний вид. Именно сюда необходимо устанавливать DOCUMENT ROOT вашего веб-сервера. Делать это нужно для того, чтобы вынести 'корень' сайта в папку на уровень выше. Таким образом, пользователи не смогут 'прогуляться' по каталогам приложения.

    • css

      • app.min.css - Собранные и минимизированные стили.

    • img - В этой директории находятся различные изображения.

      • shop - Изображения, относящиеся к магазину.

        • items - Изображения предметов. Именем файла является контрольная сумма, взятая из содержимого файла алгоритмом md5. Такой способ именования файлов необходим для того, чтобы избежать дублирования файлов, если будут загружены несколько одинаковых изображений.

          • empty.png - Картинка предмета без заданного изображения.

        • users

          • cloaks - Изображения плащей пользователей. Именем файла является ник игрока.

          • skins - Изображения скинов пользователей. Именем файла является ник игрока.

          • default.png - Стандартный скин игрока. Будет активен, если не установлен кастомный.

      • layout - Изображения, относящиеся к общей разметке.

    • js

      • app.min.js - Собранный и минимизированный javascript-код.

    • favicon.ico - Иконка сайта. Отображается в браузере (В заголовках, закладках и тд.)

    • robots.txt - Этот файл используется поисковыми роботами для получения информации о том, какие страницы нужно, а какие не нужно индексировать. Правильная настройка содержимого robots.txt положительно влияет на SEO.

  • resources

    • assets - Ассеты - это несобранные файлы стилей и javascript-код, а также vue-компоненты. Вы можете внести в них изменения, а затем воспользоваться Webpack'ом, дабы собрать, минимизировать и переместить в нужное место.

    • lang - Языковые настройки приложения.

    • views - HTML-разметка страниц и email-писем. В силу того, что L-Shop является SPA тут находятся не так много файлов.

  • routes - Директория с маршрутами. Во внутренних файлах задаются url'ы для каждой страницы, а так же соответствующий им контроллер.

  • storage - Логи, кэш и другой рантайм.

    • logs - В эту папку будет происходить логирование фреймворком.

      • laravel.log - Является основным файлом журнала, если элемент массива log в файле config/app.php имеет значение 'single'.

  • tests - Здесь 'лежат' юнит-тесты, а также функциональные тесты для тестирования приложения.

  • vendor - Папка с зависимостями. Именно здесь находится фреймворк Laravel и все его компоненты.

  • .env - Файл конфигурации. В нём происходит конфигурирование основных настроек фреймворка.

  • .env.example - Шаблонный файл конфигурации. Должен быть переименован в .env.

  • webpack.config.js - Файл сборщика фронтенда проекта Webpack.

Last updated