PSR-7 фреймворк 7/7: Консольные команды, базы данных и ресурсы

Завершающий урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Добавляем поддержку написания консольных команд, добавляем работу с базами данных с помощью PDO и готовых ORM, оптимизируем запросы. Обсуждение и исходники:
Обновленные эпизоды выходят на
Блог:
Скринкасты:
Задонатить:
Тайм-коды: 00:00:00 - Вступление, повторение выводов, цели урока 00:03:00 - Доработки, символические ссылки 00:07:06 - Автопроверка стиля кода 00:10:28 - PHP_CodeSniffer 00:13:50 - Конфигурационный файл phpcs 00:19:13 - Запуск командой в composer.json 00:22:35 - Консольный скрипт app.php 00:29:41 - Код очистки кеша в консоли 00:33:40 - Вынос в класс CacheClearCommand 00:37:59 - Аргументы консольной команды argv и argc 00:48:47 - Интерактивный ввод для консольной команды 00:56:08 - Объект ввода, класс Input 01:01:13 - Вынос диалогов в Input 01:02:33 - Объект вывода Output 01:03:55 - Поддержка цветов с помощью спецсимволов 01:08:13 - Выделение слов цветом, псевдотэги 01:10:36 - Вынос списка папок кеша в конфигурацию 01:13:17 - Вынос метода delete в файловый менеджер 01:16:52 - Маршрутизация консольных команд 01:24:07 - Интерфейс консольных команд 01:26:01 - Добавление метода для имени команды 01:35:11 - Создание класса Console Application 01:39:40 - Хранение списка кманд в конфигурации 01:42:24 - Компонент zend-console 01:45:28 - Компонент symfony console 01:50:13 - Переписывание команды для Symfony 02:02:26 - Интерактивность через QuestionHelper 02:11:05 - Применение готового хэлпера 02:13:34 - Общая теория подключения к БД 02:15:12 - Добавление базы данных 02:18:15 - Расширение ext-pdo и composer 02:20:52 - Конфигурирование PDO для бросания исключений 02:24:18 - Подключение SQLite 02:34:28 - Конфигурирование в контейнере 02:37:27 - Вынос в отдельный файл конфигурации 02:39:34 - Вывод постов, PostReadRepository 02:46:07 - Вынос метода гидрации 02:49:07 - Создание таблиц в БД, теория 02:52:46 - Миграции базы данных, теория 03:01:47 - Библиотека Phinx Migration 03:05:57 - Подключение Phinx в проект 03:11:53 - Заполнение демо-данными, PostsSeeder 03:13:37 - Генерация случайных данных через Faker 03:17:13 - Постраничный вывод по 10 постов на страницу 03:22:14 - Вывод постраничной навигации 03:28:06 - Вынос расчётов в объект Pagination 03:33:17 - Промежуточные итоги 03:34:39 - Библиотека Illuminate DB 03:37:20 - Библиотека Doctrine ORM 03:42:01 - Установка через пакет container-interop-doctrine 03:46:10 - Подключение Doctrine 03:50:27 - Сущность Post с Content, Meta и Comment 03:57:39 - Подход Code-First и генерация миграций БД 04:01:37 - Просмотр таблиц в db.sqlite 04:04:23 - Возвращение HelperSet 04:06:36 - Интеграция команд Doctrine в наше приложение 04:09:08 - EntityMahagerHelper 04:11:33 - Пакет Doctrine Migrations 04:16:32 - Настройка путей для миграций 04:20:19 - Генерация миграций 04:24:08 - Doctrine Fixtures 04:27:47 - FixtureCommand 04:31:11 - Фикстура BlogFixture 04:34:19 - Отключение фикстур из production 04:35:56 - Переписывание PostReadRepository на работу с EntityRepository 04:40:50 - Доработка представлений 04:43:07 - Избавляемся от своего PDO 04:47:28 - Работа с кешированием в Doctrine 04:55:06 - Проблема производительности, теория 04:59:58 - Создание производительной Read Model 05:05:06 - Промежуточные итоги 05:10:13 - Альтернативный возврат ошибки 404 05:16:50 - Генеация ошибок для API 05:22:51 - Подключение ассетов 05:24:21 - Обновление на Bootstrap 4 05:28:38 - Подключение NodeJS и npm yarn 05:30:58 - Указание зависимостей в package.json 05:33:22 - Установка пакетов 05:36:19 - Написание скриптов и стилей 05:37:39 - Препроцессинг SASS 05:39:56 - Библиотека WebPack 05:44:35 - Библиотека Laravel Mix 05:47:34 - Конвертация скриптов и стилей 05:51:21 - Генерация ресурсов для публикации через yarn prod 05:52:07 - Другие команды 05:54:48 - Кастомизация бутстраповских стилей 05:58:53 - Переопределение переменных в variables.scss 06:01:44 - Борьба с кэшированием, версионирование 06:06:13 - Расширение stormiix/laravel-mix-twig-extension 06:10:57 - Подведение итогов

Смотрите также