Справочник PHP
Современный PHP
Справочник PHP. Базовые статьи о том, как PHP выполняется, как читать синтаксис и где проходят границы между слабой динамикой языка и современной типизацией. Раздел про встроенные структуры и расширения, которые часто встречаются в реальном PHP-коде без фреймворковой оболочки.
52Уроки
8Модули
RUEncyclopedia
Содержание
1
Ядро языка
1
Версии PHP и режимы выполнения
Справочная статья о поддерживаемых ветках PHP, SAPI,
php.ini, CLI/FPM/CGI и том, почему lifecycle версии влияет на безопасность и совместимость. Связана с Миграции между версиями PHP, CLI и встроенный сервер и PHP-FPM, RoadRunner и долгоживущие воркеры.
2
Синтаксис, теги и подключение файлов
Разбор
<?php, инструкций, комментариев, include, require, require_once, declare и типичных ловушек файлов со смешанным HTML/PHP. Смежно с HTTP-заголовки, ответы и редиректы.
3
Типы и strict_types
Определяет scalar types,
null, mixed, never, union/intersection/DNF types, nullable-синтаксис, coercion и реальную область действия declare(strict_types=1). Ссылается на Массивы как ordered map и PHPDoc, generics и статический анализ.
4
Операторы и управляющие конструкции
Энциклопедическая статья про выражения, precedence, comparison, null coalescing, spaceship,
if, match, switch, циклы и особенности foreach. Полезна вместе с Массивы как ordered map.
5
Функции, замыкания и callable
Описывает user-defined и built-in функции, scope, параметры, named arguments, variadic, return types, references, anonymous functions, arrow functions и first-class callable syntax. Связана с PHPDoc, generics и статический анализ.
6
Ошибки, исключения и Throwable
Разбирает error levels, warnings,
Error, Exception, Throwable, try/catch/finally, custom exceptions и отличие ошибок рантайма от доменных исключений. Связана с Транзакции и режимы ошибок PDO и Очереди, фоновые задачи и воркеры.
7
Генераторы и Fiber
Справка по
yield, Generator, ленивой итерации и Fiber как full-stack interruptible functions для async-экосистемы PHP. Смежно с SPL, итераторы и коллекции и Асинхронный PHP и event loop.
2
Данные и стандартная библиотека
8
Массивы как ordered map
Полная статья о PHP array как ordered map: int/string keys, key casting, overwrite, append, destructuring,
array_* функции и отличие list от associative array. Связана с Операторы и управляющие конструкции.
9
Строки, UTF-8 и mbstring
Объясняет байтовую природу PHP strings, interpolation, heredoc/nowdoc, string functions, UTF-8,
mb_*, encoding conversion и ошибки при работе с кириллицей. Смежно с XSS, экранирование вывода и шаблоны.
10
Дата и время
Справка по
DateTime, DateTimeImmutable, time zones, intervals, periods, timestamps, formatting/parsing и типичным багам с локалью и DST. Связана с JSON, сериализация и форматы данных.
11
JSON, сериализация и форматы данных
Описывает
json_encode, json_decode, flags, exceptions, numeric/string edge cases, PHP serialization и границы безопасного обмена данными. Связана с Ошибки, исключения и Throwable.
12
Файловая система и stream wrappers
Статья о путях, permissions,
file_get_contents, fopen, SplFileObject, php://input, stream contexts и безопасной работе с пользовательскими путями. Смежно с Загрузка файлов.
13
SPL, итераторы и коллекции
Обзор SPL interfaces/classes,
Iterator, IteratorAggregate, ArrayObject, SplFileInfo, heaps/queues и случаев, где они удобнее обычного массива. Связана с Генераторы и Fiber.
3
Объектная модель
14
Классы, объекты и видимость
Покрывает class/object basics, properties, methods, constructors, destructors, visibility, static, constants, readonly и сравнение объектов. Связана с Наследование, интерфейсы и трейты.
15
Наследование, интерфейсы и трейты
Справка по
extends, implements, abstract/final, variance, traits, конфликтам методов, composition vs inheritance и контрактам. Смежно с PSR-1, PSR-12 и стиль кода.
16
Неймспейсы и use
Объясняет namespace declarations, fully qualified names,
use, aliases для classes/functions/constants и типичные конфликты имен. Связана с Autoloading и PSR-4.
17
Autoloading и PSR-4
Статья про
spl_autoload_register, Composer autoload, PSR-4 namespace prefix, base directory, case-sensitive class names и dump-autoload. Связана с Composer, Packagist и composer.json.
18
Enum в PHP
Описывает unit enums, backed enums, cases, methods, interfaces,
from/tryFrom, serialization и отличие enum от набора constants. Связана с Типы и strict_types.
19
Атрибуты и Reflection
Справка по PHP 8 attributes, target/repeatable rules, Reflection API, metadata-driven code и ограничениям по сравнению с комментариями PHPDoc. Смежно с PHPDoc, generics и статический анализ.
4
Веб-слой и HTTP
20
SAPI и суперглобалы
Объясняет роль SAPI, request lifecycle,
$_SERVER, $_GET, $_POST, $_REQUEST, $_FILES, $_COOKIE, $_SESSION и почему superglobals стоит изолировать. Связана с PSR-7, middleware и HTTP-клиенты.
21
GET, POST и фильтрация ввода
Справка по query string, form data,
filter_input, validation vs sanitization, empty/missing values и безопасному преобразованию user input. Смежно с CSRF и state-changing запросы.
22
Куки и сессии
Разбирает
setcookie, session ID, session storage, fixation, regeneration, Secure, HttpOnly, SameSite и границы надежности PHP sessions. Связана с Конфигурация безопасности PHP.
23
Загрузка файлов
Описывает
$_FILES, upload errors, limits, MIME/type validation, temporary files, storage outside web root и риски executable uploads. Связана с Файловая система и stream wrappers.
24
HTTP-заголовки, ответы и редиректы
Статья про
header, http_response_code, redirects, cache headers, content type, headers already sent и корректное завершение после redirect. Связана с Синтаксис, теги и подключение файлов.
25
PSR-7, middleware и HTTP-клиенты
Объясняет HTTP messages, request/response interfaces, streams, uploaded files, middleware-подход и связь PSR-7 с PSR-15/PSR-18. Смежно с SAPI и суперглобалы и Slim и Mezzio.
26
CLI и встроенный сервер
Справка по CLI SAPI, arguments, stdin/stdout/stderr, exit codes,
php -S, отличиям от веб-SAPI и локальной отладке без Apache/Nginx. Связана с Версии PHP и режимы выполнения.
5
Базы данных и безопасность
27
PDO и подключение к базе
Статья о DSN, drivers, connection options, persistent connections, fetch modes и базовой модели PDO/PDOStatement. Связана с Prepared statements и SQL injection.
28
Prepared statements и SQL injection
Покрывает
prepare, named/positional placeholders, execute, bind by value/reference, ограничения placeholders и защиту от SQL injection. Смежно с GET, POST и фильтрация ввода.
29
Транзакции и режимы ошибок PDO
Описывает
beginTransaction, commit, rollBack, implicit commits, autocommit, ERRMODE_EXCEPTION и обработку database errors. Связана с Ошибки, исключения и Throwable.
30
Пароли, хэши и криптография
Справка по
password_hash, password_verify, password_needs_rehash, алгоритмам, salts, timing, random_bytes и тому, что не стоит писать самому. Связана с Куки и сессии.
31
XSS, экранирование вывода и шаблоны
Разбирает XSS, context-aware output encoding,
htmlspecialchars, HTML attributes, URLs, JS/CSS contexts и опасность самодельной sanitization. Смежно с Строки, UTF-8 и mbstring.
32
CSRF и state-changing запросы
Описывает CSRF, unsafe methods, synchronizer tokens, double-submit cookie pattern, SameSite, Origin/Referer checks и почему GET не должен менять состояние. Связана с GET, POST и фильтрация ввода.
33
Конфигурация безопасности PHP
Справка по
display_errors, error_reporting, expose_php, upload limits, session settings, allow_url_include, document root и production-настройкам. Связана с Версии PHP и режимы выполнения.
6
Экосистема и качество кода
34
Composer, Packagist и composer.json
Описывает dependency management,
require, require-dev, package names, repositories, Packagist, scripts и autoload-секцию composer.json. Связана с Autoloading и PSR-4.
35
composer.lock, install/update и audit
Справка о разнице
install и update, lock-файле, reproducible installs, audit, platform requirements, --no-dev и production autoload optimization. Связана с Миграции между версиями PHP.
36
PSR-1, PSR-12 и стиль кода
Разбирает PHP-FIG, смысл PSR, базовый стандарт, современный coding style, 4 spaces, file layout, braces, visibility и границы автоматического форматирования. Смежно с Неймспейсы и use.
37
PHPDoc, generics и статический анализ
Описывает docblocks, array shapes, template/generic annotations,
mixed, baseline, уровни строгости PHPStan/Psalm и связь PHPDoc с native types. Связана с Типы и strict_types.
38
PHPUnit, моки и стабы
Энциклопедическая статья о PHPUnit как инструменте, test cases, assertions, fixtures, data providers, mocks/stubs и месте тестов в CI без учебных заданий. Связана с Ошибки, исключения и Throwable.
39
CI, линтеры и автоматические проверки
Справка по типичному pipeline PHP-проекта: Composer scripts, PHPStan/Psalm, PHPUnit, PHP-CS-Fixer или PHP_CodeSniffer, security audit и checks перед merge. Связана с composer.lock, install/update и audit.
40
Миграции между версиями PHP
Справка по migration guides, deprecations, backward incompatible changes, поддержке расширений, проверке зависимостей и стратегии обновления 8.x. Связана с Версии PHP и режимы выполнения и composer.lock, install/update и audit.
7
Фреймворки и платформы
41
Laravel
Справочная статья о Laravel: service container, facades, routing, controllers, Eloquent, migrations, Blade, Artisan, queues и экосистема Laravel. Связана с Composer, Packagist и composer.json, Очереди, фоновые задачи и воркеры и XSS, экранирование вывода и шаблоны.
42
Symfony
Описывает Symfony Components, HttpFoundation, Routing, DependencyInjection, Console, EventDispatcher, Messenger, Flex и роль Symfony как framework и набора переиспользуемых компонентов. Связана с PSR-7, middleware и HTTP-клиенты и Composer, Packagist и composer.json.
43
Yii
Справка по Yii как full-stack фреймворку: MVC, Active Record, Gii, widgets, RBAC, forms, validation и типичные сценарии админок и CRUD-приложений. Смежно с PDO и подключение к базе.
44
Slim и Mezzio
Разбирает microframework-подход в PHP, routing, middleware pipeline, PSR-7/PSR-15, DI-контейнеры и случаи, где легкий стек удобнее full-stack фреймворка. Связана с PSR-7, middleware и HTTP-клиенты.
45
CMS и e-commerce на PHP
Обзор WordPress, Drupal, TYPO3, Magento/OpenMage и других PHP-платформ: plugin/module architecture, themes, hooks/events, обновления, безопасность и границы кастомизации. Связана с Конфигурация безопасности PHP и composer.lock, install/update и audit.
46
Выбор PHP-фреймворка
Сравнивает full-stack, component-based и microframework-подходы по ecosystem, hiring, performance, legacy constraints, hosting, learning curve и долгосрочной поддержке. Связана с Laravel, Symfony, Yii и Slim и Mezzio.
8
Асинхронность и долгоживущие процессы
47
Асинхронный PHP и event loop
Объясняет cooperative concurrency, event loop, non-blocking I/O, promises, coroutines, Fiber, ReactPHP, Amp и почему обычный блокирующий код меняет поведение async-приложений. Связана с Генераторы и Fiber.
48
Swoole и OpenSwoole
Справка по Swoole/OpenSwoole: coroutine runtime, HTTP/WebSocket/TCP servers, timers, channels, process management, shared state и отличия от PHP-FPM. Связана с PHP-FPM, RoadRunner и долгоживущие воркеры.
49
PHP-FPM, RoadRunner и долгоживущие воркеры
Сравнивает PHP-FPM request isolation с RoadRunner worker model, preload/bootstrap, memory leaks, stale state, graceful reloads и требования к контейнерам приложения. Связана с Версии PHP и режимы выполнения и Swoole и OpenSwoole.
50
Очереди, фоновые задачи и воркеры
Описывает job queues, retry, backoff, idempotency, dead-letter queues, delayed jobs, supervisors и отличие фоновых задач от async HTTP. Связана с Ошибки, исключения и Throwable и Laravel.
51
WebSocket, SSE и realtime в PHP
Справка по realtime-подходам: WebSocket, Server-Sent Events, long polling, broadcast servers, connection lifecycle, sticky sessions и ограничения shared hosting. Связана с Swoole и OpenSwoole и Асинхронный PHP и event loop.
52
Наблюдаемость и эксплуатация PHP-сервисов
Описывает logs, metrics, tracing, health checks, memory limits, slow requests, worker restarts, opcache и production-диагностику для FPM и долгоживущих процессов. Связана с Конфигурация безопасности PHP и PHP-FPM, RoadRunner и долгоживущие воркеры.