воскресенье, 25 июня 2017 г.

LARAVEL. ФАЙЛОВАЯ СТРУКТУРА ФРЕЙМВОРКА

app - основная логика: модели, контроллеры, посредники и промежуточные фильтры, роутеры.
По умолчанию все классы данного каталога описаны в пространстве имен App, но мы можем назначить свое пространство имен.
Благодаря пространству имен обеспечивается автоматическая загрузка классов по стандарту PSR4.
Пространство имен формирует путь к файлу, в котором описан данный класс.

Полное квалифакционное имя класса формируется по схеме:
\<NamespaceName>\<SubNamespaceNames>\<ClassName> .php - полный путь к файлу.

NamespaceName - корневое пространство имен или поставщик, оно обязательно.
SubNamespaceNames - дочернее пространство имен, но не обязательно присутствует.
ClassName - имя класса. Совпадает с именм файла в котором описан данный класс.

Http\Controllers - здесь контроллеры приложения.

В app\Http\Controllers создадим папку Dir и в ней свой контроллер Controller2.php
<?php
// Сформируем пространство имен, чтобы новый класс был доступен в системе.
namespace App\Http\Controllers\Dir

// Имя класса совпадает с именем файла.
class Controller2 {
}

В app - каталог Console - предоставляет доступ к api фреймворка по протоколу CLI, т.е через консоль.

Папки:
Middleware - посредники.
Requests - классы запросов, т.е классы валидации пользовательского ввода.
Kernel.php - http ядро обработки запросов, которые передаются через запросы http к фреймворку Laravel.
routes- файл для описания маршрутов.
Events - здесь хранятся классы событий.
Exceptions - содержит обработчики исключений. Здесь можно размещать классы исключений.
Jobs - задачи. Здесь хранятся классы очередей.
Listeners - обработчики событий. Код, которых выполняется при срабатывании того или иного события.
Policies - классы политики безопасности приложения. Для определения прав пользователя на выполнение некого действия.
Providers - сервис-провайдеры приложения.
bootstrap - настройка автозагрузки классов или бутстрапинг фреймворка.
config - конфигурационные файлы приложения.
database - файлы миграции баз данных и посева данных. Посев данных - добавление определенной информации в соответствующие таблицы.
public - глобальная точка входа во фреймворк. Здесь располагаются стили, скрипты. Это document root приложения.
resourses - здесь шаблоны, виды в папке views; lang - файлы локализации; assets - saas, less файлы.
storage - содержит скомпелированные blade шаблоны, файлы сессии, файлы кэша. Данный каталог должен быть доступен для записи.
tests - здесь юнит-тесты для тестирования приложения.
vendor - все установленные классы и библиотеки. Здесь файл автозагрузки класса.

ФАЙЛЫ:
.env - здесь описаны файлы окружения.
.env.example - файл примера для файла .env
.gitattributes и .gitignore - для работы с системой контроля версий git
artisan - доступ к консоли фреймворка.
composer.json - файл сгенерированный Композер.
composer.loc - статус установки библитек.
gulpfile.js, package.json - нужны для работы Эликсир.
phpunit.xml - настойки тестирования системы юнит.
server.php - эмуляция модуля перенапрпавлений (moderewrite) сервера Апач. Для тестирования работы фреймворка.


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

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

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html