Laravel Flashcards
Контроллер
Программный модуль, реализующий функциональность одного из разделов сайта.
Обычно применяются контроллеры-классы и их имена должны заканчиваться словом Controller.
По принятому соглашению сохраняются в папке app\Http\Controllers.
Action (действие) контроллера
Одна из операций, выполняемых контроллером (вывод списка/детальной страницы/сохранение нового элемента и.т.д.). Контроллер может содержать произвольное количество действий, каждое из которых реализуется в виде общедоступного метода.
Команда для создания контроллера
php artisan make:controller ИмяController
Маршрут
Марщрут - объект особого класса, который содержит следующие сведения:
- шаблонный путь
- HTTP метод
- действие контроллера
Фасад
Фасад класс, служащий своего рода “пультом управления” одной из подсистем фреймворка
Виды настроек/конфигов проекта
1) Локальные/настройки окружения - задают параметры, относящиеся к текущей платформе (например, соединение с БД). Не заносятся в коммиты Git, хранятся в папке проекта в файле .env
2) Рабочие - параметры разрабатываемого сайта. Заносятся в Git. Хранятся в папке config, в каждом файле ассоциативный массив.
Функции хелперы
view(), route(), env(), response(), database_path() доступны глобально
Миграция
Реализуется в виде класса, содержит код вносящий какие-либо изменения в структура базы данных (например создать новую таблицу, изменить имя или тип поля в существующей, создать индекс и.т.д.). Миграцию можно применить (накатить) или откатить. Хранятся в папке database\migrations
Команда для создания миграции
php artisan make:migration имя_файла –create=имя_таблицы
php artisan make:migration create_bbs_table –create=bbs
Параметр –create предписывает вставить в миграцию код, создающий таблицу, чье имя указано в параметре
$table->timestamps() создает два поля в таблице
created_at
updated_at
Команда для выполнения миграций
php artisan migrate
Модель
Модель реализуется в виде класса, её код служит для взаимодействия с определенной таблицей базы данных. Миграции меняют структуру, модели работают с записями таблицы. Хранятся в папке app\Models
Команда для создания модели
php artisan make:model имя_модели
Команда для запуска консоли/REPL’a
php artisan tinker
Метод create у модели
Создается новый объект построителя запросов и уже ему “передается” вызов метода.
Может вызываться как статически у класса модели или у экземпляра:
Bb::create();
$bb->create();
Класс::find() - аналогично вызывает вызов построителя запросов, возвращает объект модели.
Метод построителя для вывода самых “свежих” записей
latest() - сортирует записи по убыванию отметок их создания (т.е. в обратном хронологическом порядке)
Передача сразу объекта модели в экшн из webp.php
public function detail(Bb $bb)
Указываем в сигнатуре класс модели
Подсистема - выполняющая рендеринг
Рендеринг - процесс генерирования страницы, подсистема фреймворка, выполняющая рендеринг - шаблонизатор (Blade в Laravel).
Контекст шаблона
Данные, которые передаются в шаблон для генерирования динамической части шаблона. Формируются как ассоциативный массив, который преобразуется шаблонизатором в набор обычных переменных, доступных внутри шаблона.
Базовые и производные шаблоны
От базового выполняется наследование. В него записывается общий для страниц код (теги, метаданные, привязки таблиц стилей и скриптов, и.т.д.). По принятому соглашению, базовые шаблоны хранятся в папке rescources\views\layouts.
Производные наследуются от базового и содержат уникальное содержимое для конкретной страницы. Фрагменты содержимого оформляются в виде секций.
Базовые и производные шаблоны
От базового выполняется наследование. В него записывается общий для страниц код (теги, метаданные, привязки таблиц стилей и скриптов, и.т.д.). По принятому соглашению, базовые шаблоны хранятся в папке rescources\views\layouts.
Производные наследуются от базового и содержат уникальное содержимое для конкретной страницы. Фрагменты содержимого оформляются в виде секций.
Статические файлы
Файлы, пересылаемую клиенту как есть, без какой-либо обработки: внешние таблицы стилей, веб-сценарии, изображения, ролики, документы, архивы. Статические файлы Laravel сайта располагаются в папке public, фактически являющейся корневой папкой этого сайта.