Глоссарий
Словарь веб-разработчика
Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.
228
терминов
46
букв
F
Factory Pattern
Factory — паттерн, инкапсулирующий логику создания объектов. Вместо new ConcreteClass() по всему коду — вызов фабрики, которая сама решает, какой класс инстанцировать. Клиентский код не знает, как создаётся объект.ВариантыSimple Factory — статический метод, возвращающий нужный объект на основе параметраFactory Method — базовый класс определяет интерфейс создания; подклассы переопределяют конкретную реализациюAbstract Factory — фабрика фабрик: создаёт семейства связанных объектовКогда полезенТип объекта зависит от runtime-условий или конфигурацииНужно изолировать сложную логику инициализации в одном местеЛегко заменить реализацию без изменений в клиентском коде
Feature Flag
Feature flag (или feature toggle) — механизм включения/отключения функциональности без деплоя. Код новой фичи присутствует в продакшне, но активируется только для выбранных пользователей или по условию конфигурации.Для чегоПостепенное развёртывание (rollout) — сначала 1% пользователей, потом 10%, потом 100%A/B тестирование — разные версии UI для разных группTrunk-Based Development — незавершённый код в main, но скрытый за флагомKill switch — быстро отключить проблемную фичу без отката деплояРеализацияПростые флаги — переменные среды или конфиг. Сложные сценарии — специализированные сервисы: LaunchDarkly, Flagsmith, GrowthBook, Unleash. Они поддерживают таргетинг по user_id, country, plan и т. д.Технический долгFeature flag — временная конструкция. Удаляйте флаги после полного развёртывания, иначе кодовая база превратится в лабиринт условий.
Fibers (PHP 8.1)
Fibers — примитивы конкурентного выполнения в PHP 8.1. Fiber — лёгкий «поток», которым можно управлять вручную: приостанавливать (suspend) и возобновлять (resume). Основа для асинхронного PHP без расширений.
Как это работает
$fiber = new Fiber(function (): void {
$value = Fiber::suspend('first'); // приостановить, вернуть 'first'
echo "Resumed with: $value\n";
});
$result = $fiber->start(); // 'first'
$fiber->resume('hello'); // Resumed with: hello
Fiber vs Generator
Generator — итератор с yield. Однонаправленная передача данных наружу
Fiber — двунаправленный: можно и получать, и передавать значения. Полноценная корутина
На практике
Fibers — низкоуровневый примитив. Конечный разработчик обычно работает через библиотеки (ReactPHP, Amp, Swoole), а не напрямую. Но они — основа, на которой эти библиотеки строят async/await-стиль в PHP.
Flexbox (CSS)
Flexbox (Flexible Box Layout) — CSS-модель раскладки для выравнивания элементов в одну строку или столбец. Решает классические задачи вёрстки: вертикальное центрирование, равномерное распределение, адаптивные навбары.
Основные свойства контейнера
.container {
display: flex;
flex-direction: row | column; /* ось */
justify-content: flex-start | center | space-between | space-around;
align-items: stretch | center | flex-start | flex-end;
flex-wrap: nowrap | wrap; /* перенос на новую строку */
gap: 16px; /* отступы между элементами */
}
Свойства элементов
.item {
flex: 1; /* grow + shrink + basis = равномерное распределение */
flex-grow: 2; /* занимать вдвое больше свободного места */
align-self: center; /* индивидуальное выравнивание */
order: -1; /* изменить порядок без изменения HTML */
}
Flexbox vs Grid
Flexbox — одномерный (строка ИЛИ столбец). CSS Grid — двумерный (строки И столбцы одновременно). Для навбара и карточек — Flexbox. Для сложных страничных раскладок — Grid.