кодесурса
«Laravel

Laravel (5.7) Структура каталогов

script1adsense2code
script1adsense3code

Структура каталогов Laravel объясняет различные каталоги и подкаталоги в приложении laravel вместе с их функциями.

  • Вступление
  • Корневая директория
  • Каталог приложений

Вступление

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

Где находится каталог моделей?

Когда мы начинали с Laravel, многих разработчиков смущало отсутствие каталога моделей. однако отсутствие такого каталога является преднамеренным. Мы находим слово «модели» неоднозначным, поскольку оно означает много разных вещей для разных людей. Некоторые разработчики именуют «модель» приложения как совокупность всей его бизнес-логики, в то время как другие называют «модели» классами, которые взаимодействуют с реляционной базой данных.

По этой причине мы по умолчанию размещаем модели Eloquent в каталоге приложения и разрешаем разработчику размещать их где-то еще, если они того пожелают.

Корневая директория

Этот каталог является одним из самых важных каталогов, внутри которых вы найдете некоторые другие подкаталоги. Это:

Каталог приложений

Каталог приложения содержит базовый код для вашего приложения Laravel. Больше всего классов в вашем приложении будет в этом каталоге.

Каталог начальной загрузки

Каталог начальной загрузки содержит файл app.php, который загружает среду и настраивает автозагрузку. В этом каталоге также находится каталог кеша, содержащий файлы, сгенерированные платформой для оптимизации производительности, такие как файлы кеша маршрутов и сервисов. Он содержит все сценарии начальной загрузки, используемые для вашего приложения.

Каталог конфигурации

Каталог config , как следует из названия, содержит весь файл конфигурации вашего приложения. Этот каталог содержит файлы, такие как auth.php, cache.php, database.php и так далее. Легко просмотреть все файлы в каталоге и ознакомиться с тем, что каждый из них.

Каталог баз данных

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

Публичный каталог

Публичный каталог помогает запустить ваш проект Laravel из файла index.php, а также содержит другие скрипты (JavaScript и CSS), а также изображения, необходимые для вашего проекта.

Каталог ресурсов

Каталог ресурсов содержит ваши представления, а также ваши необработанные, не скомпилированные ресурсы, такие как LESS, SASS или javascript. В этом каталоге также хранятся все ваши языковые файлы. В каталоге ресурсов хранятся все языковые (локализационные) файлы, шаблоны (если есть).

Каталог маршрутов

Каталог маршрутов содержит все определения маршрутов для вашего приложения. По умолчанию в Laravel включены несколько файлов маршрутов: web.php, api.php, console.php и channel.php.

Файл web.php содержит маршруты, которые предоставляют состояния сеанса, защиту CSRF и шифрование cookie. Большая часть вашего маршрута будет определена в файле web.php.

Файл api.php содержит маршруты, которые RouteServerProvider помещает в группу промежуточного программного обеспечения api , которые обеспечивают ограничение скорости.

Файл console.php - это место, где вы можете определить все свои консольные команды на основе замыкания. Каждое замыкание ограничено экземпляром команды, что позволяет простой подход к взаимодействию с методом ввода-вывода каждой команды. Этот файл не определяет маршруты HTTP. Определите консольные точки входа в ваше приложение.

Файл channel.php - это место, где вы можете зарегистрировать все каналы трансляции событий, которые поддерживает ваше приложение.

Каталог хранения

В каталоге хранилища хранятся ваши файлы сессий, кеш, скомпилированные шаблоны, а также разные файлы, сгенерированные платформой.

Каталог storage / app / public используется для хранения пользовательских файлов, таких как аватары профиля, которые должны быть общедоступными. Вы можете создать ссылку, используя команду php artisan storage: link .

Справочник тестов

Каталог тестов содержит ваши автоматизированные тесты. Пример PHPUnit предоставляется из коробки. Он содержит все контрольные примеры.

К каждому тестовому классу должно быть добавлено слово test . Вы можете запустить свои тесты, используя команды phpunit или php vender / bin / phpunit .

Справочник Продавца

В каталоге vendor хранятся зависимости вашего композитора .

Каталог приложений

Большая часть вашего приложения хранится в каталоге приложения . По умолчанию этот каталог имеет пространство имен в App и автоматически загружается композитором.

Каталог приложения содержит множество дополнительных каталогов, таких как console , Http и провайдеры . Представьте, что каталоги консоли и Http предоставляют API в ядро вашего приложения. В каталоге консоли хранятся все ваши команды, а в каталоге http хранятся ваш контроллер, промежуточное программное обеспечение и запросы.

Консольный каталог

Каталог console содержит все пользовательские команды для вашего приложения. эта команда может быть сгенерирована с помощью команды make: command. В этом каталоге также хранится ваше консольное ядро, в котором зарегистрирована ваша пользовательская команда ремесленника.

Каталог событий

Этот каталог не существует по умолчанию, но будет создан для вас командами Artisan : event: generate и make: event . Событие может использоваться для оповещения других частей вашего приложения о том, что произошло определенное действие, что обеспечивает большую гибкость и развязку.

Каталог исключений

Каталог Exceptions содержит обработчик исключений вашего приложения и также является хорошим местом для размещения любых исключений, выданных вашим приложением. Если вы хотите настроить, как ваши исключения регистрируются или обрабатываются, вы должны изменить класс обработчика в этом каталоге.

Http Directory

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

Справочник вакансий

Этот каталог не существует по умолчанию, но будет создан для вас. если вы выполните команду make: job Artisan. Задания могут быть поставлены в очередь вашим приложением или выполняться синхронно в текущем жизненном цикле запроса.

Каталог слушателей

Каталог по умолчанию не существует, но будет создан для вас. Если вы выполняете событие: генерируйте или производите: слушатель команды Artisan. Каталог listeners содержит классы, которые обрабатывают ваши события .

Почтовый каталог

Этот каталог не существует по умолчанию, но будет создан для вас. Если вы выполните make: mail

Ремесленник команд. Почтовый каталог содержит все ваши классы, которые представляют электронные письма, отправленные вашим приложением.

Каталог уведомлений

Этот каталог не существует по умолчанию, но будет создан для вас. Если вы выполните команду make :tification Artisan. Каталог уведомлений содержит все транзакционные уведомления, отправленные вашим приложением. Уведомления Laravel имеют абстрактную отправку уведомлений по различным драйверам, таким как электронная почта, слабые места, SMS, хранящиеся в базе данных.

Каталог политик

Этот каталог не существует по умолчанию, но будет создан для вас. Если вы выполните команду make: policy Artisan. Каталог policy содержит классы политики авторизации для вашего приложения. Политики используются для определения, может ли пользователь выполнить данное действие в отношении ресурса.

Справочник провайдеров

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

В новом приложении Laravel этот каталог уже будет содержать несколько провайдеров. Вы можете добавлять своих поставщиков в этот каталог по мере необходимости.

Предыдущая: Конфигурация Laravel (5.7)
Следующая: Laravel (5.7) Усадьба

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code