понедельник, 18 апреля 2016 г.

Laravel - первое знакомство: файловая структура

Теперь, когда понятно что такое web фреймворк, посмотрим как же он устроен на примере Laravel 5.
Папка laravel содержит сам фреймворк, и также именно в ней, в определенных поддиректориях, должны будут находиться различные пользовательские файлы. Поэтому, для наилучшего понимания того что и где находится и должно находиться, имеет смысл внимательно рассмотреть файловую структуру Ларавель.

Смотрим по https://laravel.com/docs/master/structure


public - та папка, которая по идее должна быть доступна на чтение из интернета.
Что в ней есть? index.php - корневой файл сайта; favicon.ico - иконка для страницы в браузере; robots.txt - файл для поисковых роботов; .htaccess - файл конфигурации web-серверов Apache и Nginx; web.config - файл конфигурации web-сервера IIS от Microsoft. В ней вы также можете размещать разные "глобальные" для всего сайта ресурсы, которые должны быть доступны - js и css файлы, картинки и т.п.

config - конфигурация фреймворка. Несколько php файлов, в которых инициализируются различные переменные фреймворка.

bootstrap - загрузка фреймворка, конфигурация автозагрузки и кэш.

database - информация об изменении структуры баз данных; здесь также можно держать файлы СУБД Sqlite.

resources - "ресурсы" - представления ("виды"), то есть код на php, отвечающий за визуальное представление страниц сайта, а также файлы локализации и рабочие приложения на js.

storage - для сгенерированных файлов

tests - для юнит-тестов

vendor - содержит все библиотеки - "зависимости", которые были скачаны Композером. Там и сам основной код Ларавель, и множество других библиотек и модулей.

И наконец app - папка, которая должна содержать код вашего сайта. Рассмотрим ее содержимое подробнее. Правда, пока очень кратко и скорее всего непонятно.

Console - "artisan команды" (что это такое будет известно позже)
Http - контроллеры, фильтры и запросы
Events - классы событий
Listeners - классы обработчиков команд и событий
Services - вспомогательные элементы (хелперы, сервисы)
Exceptions - обработчики исключений
Jobs - "задания", которые можно выстроить в очередь
Policies - политики авторизации
Providers - сервис-провайдеры - для первоначальной загрузки приложения

На этом пока все. Следующие главы будут уже по всей видимости в другом моем блоге - http://neo-lang.blogspot.ru ,  так как они в значительной мере касаются программирования. Здесь же будут лиши краткие анонсы.

Комментариев нет:

Отправить комментарий