Структура приложения в Laravel — это, в основном, структура папок, подпапок и файлов, включенных в проект. Как только мы создадим проект в Laravel, мы получим обзор структуры приложения, как показано на рисунке здесь.
Снимок, показанный здесь, относится к корневой папке Laravel, а именно к laravel-project . Он включает в себя различные подпапки и файлы. Анализ папок и файлов, а также их функциональные аспекты приведены ниже —
Приложение
Это папка приложения и включает весь исходный код проекта. Он содержит события, исключения и объявление промежуточного программного обеспечения. Папка приложения содержит различные подпапки, как описано ниже —
Приставка
Консоль включает в себя ремесленные команды, необходимые для Laravel. Он включает в себя каталог с именем Commands , где все команды объявлены с соответствующей подписью. Файл Kernal.php вызывает команды, объявленные в Inspire.php .
Если нам нужно вызвать определенную команду в Laravel, то мы должны внести соответствующие изменения в этот каталог.
События
Эта папка включает в себя все события для проекта.
События используются для запуска действий, выявления ошибок или необходимых проверок и обеспечения большей гибкости. Laravel хранит все события в одном каталоге. По умолчанию включен файл event.php, в котором объявлены все основные события.
Исключения
Эта папка содержит все методы, необходимые для обработки исключений. Он также содержит файл handle.php, который обрабатывает все исключения.
Http
В папке Http есть подпапки для контроллеров, промежуточного программного обеспечения и запросов приложений. Поскольку Laravel следует шаблону проектирования MVC, эта папка включает модель, контроллеры и представления, определенные для определенных каталогов.
Подпапка промежуточного программного обеспечения включает в себя механизм промежуточного программного обеспечения, включающий механизм фильтрации и связь между ответом и запросом.
Подпапка « Запросы » включает в себя все запросы приложения.
работы
Каталог Jobs поддерживает действия, поставленные в очередь для приложения Laravel. Базовый класс распределяется между всеми рабочими местами и обеспечивает центральное расположение для размещения их под одной крышей.
Слушатели
Слушатели зависят от события и включают методы, которые используются для обработки событий и исключений. Например, объявленное событие входа в систему включает событие LoginListener .
полисы
Политики — это классы PHP, которые включают логику авторизации. Laravel включает функцию для создания всей логики авторизации в классах политики внутри этой подпапки.
Провайдеры
В эту папку входят все поставщики услуг, необходимые для регистрации событий для основных серверов и для настройки приложения Laravel.
начальная загрузка
Эта папка содержит все сценарии начальной загрузки приложения. Он содержит подпапку, а именно кеш , который включает в себя все файлы, связанные с кешированием веб-приложения. Вы также можете найти файл app.php , который инициализирует скрипты, необходимые для начальной загрузки.
конфиг
Папка config включает в себя различные конфигурации и связанные параметры, необходимые для бесперебойной работы приложения Laravel. Различные файлы, включенные в папку конфигурации, как показано на рисунке здесь. Имена файлов работают в соответствии с функциональностью, связанной с ними.
База данных
Как следует из названия, этот каталог включает в себя различные параметры для функций базы данных. Он включает в себя три подкаталоги, как указано ниже —
-
Семена. Содержит классы, используемые для базы данных модульного тестирования.
-
Миграции — эта папка помогает в запросах на миграцию базы данных, используемой в веб-приложении.
-
Фабрики — эта папка используется для генерации большого количества записей данных.
Семена. Содержит классы, используемые для базы данных модульного тестирования.
Миграции — эта папка помогает в запросах на миграцию базы данных, используемой в веб-приложении.
Фабрики — эта папка используется для генерации большого количества записей данных.
общественного
Это корневая папка, которая помогает в инициализации приложения Laravel. Он включает в себя следующие файлы и папки —
-
.htaccess — этот файл задает конфигурацию сервера.
-
javascript и css — эти файлы считаются активами.
-
index.php — этот файл необходим для инициализации веб-приложения.
.htaccess — этот файл задает конфигурацию сервера.
javascript и css — эти файлы считаются активами.
index.php — этот файл необходим для инициализации веб-приложения.
Ресурсы
Каталог ресурсов содержит файлы, которые расширяют возможности вашего веб-приложения. Подпапки, включенные в этот каталог, и их назначение объясняется ниже —
-
assets — папка assets содержит файлы, такие как LESS и SCSS, которые необходимы для стилизации веб-приложения.
-
lang — эта папка содержит конфигурацию для локализации или интернализации.
-
Представления — Представления — это HTML-файлы или шаблоны, которые взаимодействуют с конечными пользователями и играют основную роль в архитектуре MVC.
assets — папка assets содержит файлы, такие как LESS и SCSS, которые необходимы для стилизации веб-приложения.
lang — эта папка содержит конфигурацию для локализации или интернализации.
Представления — Представления — это HTML-файлы или шаблоны, которые взаимодействуют с конечными пользователями и играют основную роль в архитектуре MVC.
Обратите внимание, что каталог ресурсов будет плоским, а не папкой ресурсов. Иллюстрированное изображение того же самого показано ниже —
Место хранения
Это папка, в которой хранятся все журналы и необходимые файлы, которые часто нужны при запуске проекта Laravel. Подпапки, включенные в этот каталог, и их назначение приведены ниже —
-
app — эта папка содержит файлы, которые вызываются последовательно.
-
Framework — содержит сессии, кеш и представления, которые часто вызываются.
-
Журналы — все исключения и журналы ошибок отслеживаются в этой подпапке.
app — эта папка содержит файлы, которые вызываются последовательно.
Framework — содержит сессии, кеш и представления, которые часто вызываются.
Журналы — все исключения и журналы ошибок отслеживаются в этой подпапке.
тесты
Все примеры модульных тестов включены в этот каталог. Соглашение об именовании для именования классов тестовых случаев — camel_case и следует соглашению в соответствии с функциональностью класса.
продавец
Laravel полностью основан на зависимостях Composer, например, для установки программы установки Laravel или для включения сторонних библиотек и т. Д. Папка Vendor включает в себя все зависимости композитора.
В дополнение к вышеупомянутым файлам, Laravel также включает некоторые другие файлы, которые играют основную роль в различных функциях, таких как конфигурация GitHub, пакеты и сторонние библиотеки.
Файлы, включенные в структуру приложения, показаны ниже —