Сервер и структура проекта

Сегодня подготовим всю необходимую инфраструктуру. Установим и настроим локальный HTTP-сервер Nginx c PHP-FPM в Docker. А потом определим структуру файлов и директорий проекта для написания наших классов. Сделаем автозагрузку классов для фреймворка и демо-приложения с помощью Composer. Для тестирования установим PHPUnit и напишем свой первый тест. И заодно настроим интеграцию PHP и запуска тестов в PHPUnit.

  • 00:01:30 - Демонстрационная HTML-страница
  • 00:02:09 - Настройка табуляции с editorconfig
  • 00:07:13 - Недостатки ручной установки
  • 00:08:20 - Использование виртуализации
  • 00:10:35 - Использование контейнеров
  • 00:13:58 - Запуск процессов через Docker
  • 00:19:19 - Создание своего образа
  • 00:22:04 - Работа с Docker Compose
  • 00:24:24 - Установка PHP-FPM
  • 00:28:19 - Упрощение запуска в терминале
  • 00:30:27 - Философия одного процесса
  • 00:32:34 - Консольный процесс PHP-CLI
  • 00:34:23 - Переопределение пользователя
  • 00:37:13 - Установка Composer
  • 00:41:32 - Инициализация проекта
  • 00:42:32 - Сортировка зависимостей
  • 00:42:51 - Интеграция PHP в PhpStorm
  • 00:45:35 - Структура исходного кода
  • 00:46:45 - Автозагрузка классов проекта
  • 00:49:25 - Подключение PHPUnit
  • 00:51:40 - Донастройка тестов
  • 00:53:48 - Подключение автозагрузчика
  • 00:54:25 - Пробный класс и тест
  • 00:56:35 - Команда запуска тестов
  • 00:57:42 - Запуск тестов в PhpStorm
  • 00:59:15 - Обзор результата
Скрытый контент
Комментарии (14)
Андрей

Спасибо!

Ответить
Руслан

Спасибо!

Ответить
v

Крутой урок!

Ответить
Александр

Спасибо большое за урок. Вроде бы знакомая информация, но есть много интересных тонкостей

Ответить
Фарух

Дабавьте лайки. Хочется поставить лайк но нет такой возможности :) :)

Ответить
slo_nik

Доброе утро.

Самый лучший "лайк" это написать словами благодарность Дмитрию.

p.s. Что вы, в самом деле, как неандертальцы!!! Что, без "наскальной" живописи никак не можете выразить свои мысли?

Ответить
fedot

Не лайки а линк доната, куда можно ливануть бабла в багодарность, К тому же надо учитывать, что реализация нового функционала, отнимет время от уроков, которые и так не особо часто выходят, поэтому не стоит отвлекать Диму всякой не нужной хернёй. Спасибо, за урок Дима.

Ответить
Алексей

Спасибо большое, ждём следующих эпизодов.

Ответить
Дмитрий

С нетерпением жду продолжения именно этого проекта...

Ответить
maxbrown1

Шикарный урок!

Ответить
slo_nik

Дмитрий, как всегда урок прекрасен.

Благодарю.

Ответить
Nik

Видео: 0:49 "В этом проекте мы не будем с вами рассматривать разные асинхронные вещи. И вместо этого будем использовать классическую связку из веб-сервера nginx и отдельно запущенного менеджера php-процессов php-fpm"

Интересно, о каких асинхронных вещах говорится? Что можно использовать вместо связки nginx + php-fpm?

Ответить
Дмитрий Елисеев

В простейшем случае можно взять простой асинхронный сервер RoadRunner для запуска нашего обычного синхронного приложения.

В сложном случае можно построить полностью асинхронное приложение на асинхронных пакетах вроде Swoole, ReactPHP и AmPHP.

Ответить
Игорь

Спасибо вам, Дмитрий и Юлия! Понятно разобрана настройка докера и запуск контейнеров.

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Google
GitHub
Yandex
MailRu