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

Динамические веб-приложения: PHP, MySQL и JavaScript в 2026 году

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

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

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

Чему вы научитесь

Вы построите приложение как систему явных границ: браузер отвечает за интерфейс, PHP — за сценарии и правила, MySQL — за долговечные факты, а HTTP — за проверяемый контракт между ними. В конце получится менеджер задач с регистрацией, ролями, историей, HTML-интерфейсом и JSON API.

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

Почему это самостоятельная работа

Приложенная книга Robin Nixon использована только как ориентир по широте предметов: PHP, реляционные данные, браузерный JavaScript и сборка динамического сайта. Её порядок глав, объяснения, иллюстрации и программные листинги не воспроизводятся. Структура этого самоучителя заново спроектирована вокруг жизненного цикла запроса, границ доверия и выпуска приложения.

Факты, зависящие от времени, сверены с первичными источниками. На август 2026 основной язык — PHP 8.5 с совместимым PHP 8.4 runtime для встроенных примеров; база — MySQL 8.4 LTS; браузерный слой использует native ES modules и Fetch API.

Как проходить

Читайте главы по порядку при первом знакомстве. После каждой главы выполните практику и сохраните решение в собственном репозитории. Ссылки внутри текста ведут на функции, классы, инструменты и проекты этого сервиса; используйте Ctrl/Command+K, когда нужен точный контракт API.

Прогресс и заметка сохраняются только в localStorage вашего браузера. Самоучитель не отправляет код или ответы на сервер.

Редакционные границы

Материал написан для самостоятельного обучения и не является заменой release notes, migration guide или security review конкретного проекта. Точные patch-версии меняются быстрее учебного текста, поэтому перед production-обновлением сверяйте поддерживаемую ветку и несовместимости.

В самоучителе нет кода серверного eval, shell-выполнения пользовательского PHP или include/require по загруженному пути. Встроенный Playground остаётся отдельным локальным WebAssembly Worker.

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

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

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

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

01

I. Карта системы

  1. Глава 1Один запрос как модель всего приложения

    Сначала соберите цельную карту запроса: это предотвращает путаницу между кодом браузера, PHP-процессом, SQL и сетевым протоколом.

    55 минут
  2. Глава 2Воспроизводимая среда вместо случайной настройки

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

    70 минут
02

II. Язык приложения

  1. Глава 3Значения, типы и управляемый поток PHP

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

    90 минут
  2. Глава 4Объекты, которые защищают правила

    Хороший объект не изображает таблицу базы, а не позволяет приложению оказаться в запрещённом предметном состоянии.

    85 минут
03

III. Серверное веб-приложение

  1. Глава 5HTTP, маршруты и ответы без скрытой магии

    Маршрут связывает метод и путь со сценарием, а ответ явно фиксирует статус, заголовки и тело — до того, как начался вывод.

    80 минут
  2. Глава 6Шаблоны, формы и загрузки как разные границы

    Форма — это внешний протокол: сервер проверяет каждый ожидаемый ключ, а шаблон только отображает подготовленную модель представления.

    95 минут
04

IV. Данные и MySQL

  1. Глава 7Реляционная модель до первой таблицы

    Схема базы описывает допустимые факты, а не текущий экран: сначала определите сущности и ограничения, затем выбирайте таблицы и индексы.

    90 минут
  2. Глава 8SQL, который остаётся понятным под нагрузкой

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

    100 минут
  3. Глава 9PDO, репозитории и транзакционные сценарии

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

    105 минут
05

V. Доверие и безопасность

  1. Глава 10Идентичность, сессия и право на действие

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

    110 минут
  2. Глава 11Безопасность по маршруту данных

    Вместо списка страшных сокращений проследите данные от источника до опасной операции и примените контроль в правильном контексте.

    120 минут
06

VI. Браузер как приложение

  1. Глава 12HTML и CSS: интерфейс, который работает до JavaScript

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

    95 минут
  2. Глава 13JavaScript-модули, DOM и локальное состояние

    Модуль получает зависимости через import, владеет небольшим состоянием и обновляет только тот участок DOM, контракт которого он понимает.

    100 минут
  3. Глава 14Fetch и JSON API как согласованный контракт

    Клиент и сервер заранее договариваются о методе, схеме JSON, статусах и повторе; fetch лишь переносит этот контракт через сеть.

    100 минут
07

VII. Инженерная устойчивость

  1. Глава 15Архитектура, Composer и вертикальные сценарии

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

    105 минут
  2. Глава 16Тестирование и диагностика по границам риска

    Тест выбирается по риску: правило проверяется быстро и изолированно, SQL — на реальном драйвере, а критический пользовательский маршрут — через браузер.

    110 минут
  3. Глава 17Производительность и наблюдаемость без гадания

    Оптимизация начинается с измеряемого пользовательского симптома и заканчивается повторным измерением на репрезентативных данных.

    90 минут
08

VIII. Выпуск проекта

  1. Глава 18Релиз, откат и итоговый проект 2026

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

    150 минут

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

  • php.nethttps://www.php.net/supported-versions.phpПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • php.nethttps://www.php.net/releases/8.5/en.phpПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • php.nethttps://www.php.net/manual/en/migration85.phpПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • dev.mysql.comhttps://dev.mysql.com/doc/refman/8.4/en/Первичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • developer.mozilla.orghttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/ModulesПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • developer.mozilla.orghttps://developer.mozilla.org/en-US/docs/Web/API/Fetch_APIПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • getcomposer.orghttps://getcomposer.org/doc/01-basic-usage.mdПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.
  • cheatsheetseries.owasp.orghttps://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.htmlПервичный источник для актуализации фактов. Адрес приведён как текст и не является активной ссылкой.

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

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

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

Аналитика

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

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

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

Политики

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