Учебники

Laravel — Структура приложения

Структура приложения в 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. Различные файлы, включенные в папку конфигурации, как показано на рисунке здесь. Имена файлов работают в соответствии с функциональностью, связанной с ними.

Config-папка

База данных

Как следует из названия, этот каталог включает в себя различные параметры для функций базы данных. Он включает в себя три подкаталоги, как указано ниже —

  • Семена. Содержит классы, используемые для базы данных модульного тестирования.

  • Миграции — эта папка помогает в запросах на миграцию базы данных, используемой в веб-приложении.

  • Фабрики — эта папка используется для генерации большого количества записей данных.

Семена. Содержит классы, используемые для базы данных модульного тестирования.

Миграции — эта папка помогает в запросах на миграцию базы данных, используемой в веб-приложении.

Фабрики — эта папка используется для генерации большого количества записей данных.

общественного

Это корневая папка, которая помогает в инициализации приложения 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, пакеты и сторонние библиотеки.

Файлы, включенные в структуру приложения, показаны ниже —