Авторский веб-самоучитель · 2026

PHP 8.5 на практике: инженерный интенсив от значений до релиза

Самостоятельный code-first маршрут вокруг дневника тренировок: каждое понятие превращается в проверяемый вертикальный срез, отрицательный тест и production-решение.

Оригинальная программа, а не копия книги

Тематический охват сверялся с приложенным изданием, но композиция, объяснения, примеры и схемы созданы для этого сервиса заново. Временные факты проверены по первичным источникам 2026 года.

Что вы построите

Вместо россыпи несвязанных примеров вы соберёте дневник тренировок: аккаунт, черновики, упражнения, подходы, импорт CSV, публикацию с контролем версии, недельную статистику и ограниченный доступ тренера. Проект усложняется вертикальными срезами, поэтому после каждой части остаётся работающий результат.

Главы соединяют синтаксис с инженерным решением. Массив рассматривается через форму данных, session — через срок жизни состояния, объект — через инвариант, PDO — через транзакционную границу, тест — через риск, который он действительно обнаруживает.

Почему это независимое руководство

Книга Matt Smith PHP Crash Course использована только как карта широты тем: основы языка, данные, HTTP-формы, сессии, объектная модель, базы и время. Порядок её 31 главы, учебные приложения, объяснения, иллюстрации, упражнения и программные листинги не воспроизводятся и не переводятся.

Композиция этого самоучителя спроектирована заново вокруг доверия к данным и жизненного цикла одного продукта. Тексты, примеры и SVG-схемы созданы специально для сервиса; точное сходство с предоставленным PDF проверяется отдельным локальным аудитом.

Что обновлено на август 2026

Основная линия — PHP 8.5: рассматриваются pipe operator, clone with, NoDiscard и новые правила совместимости, но исполняемые примеры сохраняют совместимость с PHP 8.4 WebAssembly runtime сайта. Для фреймворка различаются Symfony 8.1 stable и 7.4 LTS; для ORM — Doctrine 3.6 stable; шаблоны ориентированы на Twig 3.

Version numbers не подменяют проверку проекта. Перед реальным обновлением изучаются migration guide, deprecations, platform requirements, lock-файл, поддержка расширений и фактическая production-СУБД.

Как проходить интенсив

Читайте последовательно, если PHP для вас новый. Опытный разработчик может начать с нужной части, но лабораторные используют модель дневника и термины предыдущих глав. После каждого задания сохраните решение и один отрицательный тест.

Прогресс и заметки остаются в localStorage. Примеры PHP запускаются только локально в отдельном WebAssembly Worker, без серверного eval, shell-команд и подключения пользовательского пути через include/require.

Редакционный критерий

Материал объясняет не только допустимый синтаксис, но и условия выбора, отказ, измерение и границу ответственности. Там, где существует несколько решений, глава называет компромисс вместо выдачи предпочтения автора за универсальное правило.

Это учебный маршрут, а не замена security review, документации зависимости или плана миграции конкретной production-системы. Временные факты снабжены первичными источниками и датой проверки.

Локальный прогресс

Закрепите материал

Отметка, заметка, чек-лист и ответы остаются в localStorage этого браузера и не отправляются в аналитику.

Оглавление самоучителя

01

I. Надёжные примитивы

  1. Глава 1Контракт запуска и первый диагностический срез

    Программа начинается не с echo, а с договора об окружении: какая ветка PHP, какой ini, какие расширения и какой способ запуска считаются допустимыми.

    65 минут
  2. Глава 2Значения, единицы измерения и точная арифметика

    Число без единицы двусмысленно: 90 может означать секунды, минуты, килограммы или процент, поэтому корректность начинается с именования и диапазона.

    80 минут
  3. Глава 3Unicode-текст, идентификаторы и контекст вывода

    Текст проходит несколько разных операций: проверку кодировки, нормализацию для конкретной задачи, хранение исходного варианта и экранирование только в момент вывода.

    85 минут
  4. Глава 4Решения как таблицы правил, а не лес условий

    Условие становится поддерживаемым, когда каждая ветвь отвечает на предметный вопрос и возвращает различимую причину, а не просто true или false.

    75 минут
  5. Глава 5Функциональные контракты и читаемые конвейеры PHP 8.5

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

    90 минут
02

II. Мастерская данных

  1. Глава 6Массивы как списки, карты и множества

    Один синтаксис array скрывает несколько структур данных; ошибки начинаются, когда список незаметно превращается в карту или ключи теряют предметный смысл.

    85 минут
  2. Глава 7Итерации, генераторы и ограниченная память

    Цикл считается корректным, когда понятны источник, условие завершения, форма каждого элемента и максимальный объём состояния между итерациями.

    90 минут
  3. Глава 8Файлы, потоки и безопасный импорт CSV

    Загруженный файл — недоверенный поток байтов, а не PHP-модуль и не готовая таблица: путь, размер, кодировка и каждая строка требуют отдельного решения.

    105 минут
03

III. Веб-граница

  1. Глава 9HTTP-запрос как недоверенное сообщение

    Контроллер переводит конкретное HTTP-сообщение в типизированную команду, но не объявляет поле безопасным только потому, что его отправила ваша форма.

    95 минут
  2. Глава 10Формы, карта ошибок и Post/Redirect/Get

    Хорошая форма не просто отклоняет запрос: она сохраняет допустимый ввод, показывает точную причину рядом с полем и не повторяет изменение при обновлении страницы.

    110 минут
  3. Глава 11Сессионное состояние, черновики и идемпотентность

    Сессия хранит короткий контекст взаимодействия, но долговечная тренировка и её правила принадлежат базе; случайный cookie только связывает запрос с серверным состоянием.

    100 минут
  4. Глава 12Идентичность, пароль и право на конкретный объект

    Успешный вход устанавливает личность, но не разрешает автоматически читать любую тренировку: право проверяется заново для выбранного объекта и действия.

    115 минут
04

IV. Объектный дизайн

  1. Глава 13Value objects, readonly и конечные состояния

    Объект полезен, когда делает недопустимое состояние трудным для создания; оболочка с геттерами без правила только увеличивает число файлов.

    105 минут
  2. Глава 14Композиция, интерфейсы и осторожное наследование

    Связь has-a обычно меняется легче, чем is-a: объект получает нужное поведение через маленький контракт, а не наследует случайные методы предка.

    100 минут
  3. Глава 15Composer, PSR-4 и безопасная граница Twig

    Composer управляет воспроизводимостью и автозагрузкой, а шаблонизатор оформляет уже подготовленную модель представления, не принимая предметные решения.

    115 минут
  4. Глава 16Исключения, структурные логи и управляемое время

    Пользователь получает безопасный исход, оператор — достаточный контекст, а тест — контролируемые часы; одно исключение не должно печататься тремя несовместимыми способами.

    105 минут
05

V. Хранение и время

  1. Глава 17Реляционная модель, PDO и транзакционная граница

    Схема защищает факты независимо от маршрута записи, PDO отделяет значения от SQL, а транзакция охватывает целый прикладной исход.

    125 минут
  2. Глава 18CRUD, repository и честная граница ORM

    CRUD-кнопка не определяет архитектуру: сценарий выражает намерение, repository скрывает способ хранения, а ORM выбирают после оценки модели и запросов.

    125 минут
  3. Глава 19Время, часовые пояса и повторяемые расписания

    Момент времени и настенные часы — разные данные: встреча в 18:00 по Москве несёт timezone, а факт публикации хранится как однозначный instant.

    110 минут
06

VI. Качество и выпуск

  1. Глава 20Тестовая пирамида, статический анализ и deprecations

    Тест защищает контракт и отрицательный сценарий; количество assertions не заменяет проверку границ, конкурентного изменения и реальной базы.

    120 минут
  2. Глава 21Угрозы, производительность и наблюдаемое поведение

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

    125 минут
  3. Глава 22Выбор фреймворка и управляемый релиз проекта

    Фреймворк ускоряет повторяющуюся инфраструктуру, но проект остаётся ответственным за предметные границы, данные, угрозы, тесты и откат.

    140 минут

Источники актуализации

  • php.nethttps://www.php.net/supported-versions.phpПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • php.nethttps://www.php.net/releases/8.5/en.phpПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • getcomposer.orghttps://getcomposer.org/doc/03-cli.mdПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • symfony.comhttps://symfony.com/releasesПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • twig.symfony.comhttps://twig.symfony.com/doc/3.x/Первичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • doctrine-project.orghttps://www.doctrine-project.org/projects/ormПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • dev.mysql.comhttps://dev.mysql.com/doc/refman/8.4/en/Первичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • cheatsheetseries.owasp.orghttps://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.htmlПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.

Содержательная проверка: . Автор-разработчик Михаил Каржин.

Данные этого сервиса

Настройки cookie и локальных данных

Аналитика

Текущий статус: не выбран. До согласия обе аналитические системы не загружаются.

Локальные данные

Удаление затрагивает только ключи PHP-сервиса в этом браузере и требует подтверждения.

Политики

Политика конфиденциальности · Политика использования файлов cookie