cloud-castle / faker
Мультиязычный генератор фейковых данных для PHP 8.1+: 71 провайдер и полный суперсет форматтеров FakerPHP — имена, адреса, телефоны, e-mail, компании, тексты, даты, платёжные данные, HTML, UUID/ULID на 8 языках (ru/en/de/fr/es/pl/bg/ro) со склонением имён, датами прописью и реальными словами словаря
Requires
- php: >=8.1
- ext-mbstring: *
- cloud-castle/dictionary: ^1.3.0
- cloud-castle/inflector: ^1.6.0
- cloud-castle/support: ^1.2.1
- cloud-castle/uuid: ^1.1.6
Requires (Dev)
- deptrac/deptrac: ^3.0 || ^4.0
- ergebnis/composer-normalize: ^2.45
- fakerphp/faker: ^1.24
- friendsofphp/php-cs-fixer: ^3.75
- icanhazstring/composer-unused: ^0.9
- infection/infection: ^0.29 || ^0.33
- php-parallel-lint/php-parallel-lint: ^1.4
- phpmd/phpmd: ^2.15
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.12 || ^2.1
- phpstan/phpstan-deprecation-rules: ^1.2 || ^2.0
- phpstan/phpstan-phpunit: ^1.4 || ^2.0
- phpstan/phpstan-strict-rules: ^1.6 || ^2.0
- phpunit/phpunit: ^10.5 || ^11.5
- psalm/plugin-phpunit: ^0.19 || ^0.20
- rector/rector: ^1.2 || ^2.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.12 || ^4.0
- vimeo/psalm: ^6.0
- webmozart/assert: ^1.11
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-08 10:18:54 UTC
README
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
CloudCastle Faker
Мультиязычный генератор фейковых данных для PHP 8.1+: имена, адреса, компании, телефоны, платёжные данные (карты, IBAN, BIC), штрихкоды, тексты, даты, UUID, хеши, изображения и User-Agent на 8 языках (ru/en/de/fr/es/pl/bg/ro). Со склонением имён по падежам, датами и днями недели прописью и реальными словами словаря из коробки. 71 провайдер — полный суперсет категорий FakerPHP плюс инженерно-научные сферы (математика, физика, электроника, IT, космонавтика и др.) и точка расширения
extend()для своих провайдеров. Сидируемый и детерминированный; зависимости — только инфраструктура cloud-castle.
Установка
composer require cloud-castle/faker
Требуется PHP 8.1+.
Быстрый старт
<?php
use CloudCastle\Faker\Faker;
use CloudCastle\Faker\Locale;
use CloudCastle\Inflector\GrammaticalCase;
// Детерминированный генератор: одно зерно — одни и те же данные на PHP 8.1–8.5.
$faker = Faker::create(Locale::Russian, seed: 42);
$faker->person()->name(); // имя с фамилией на языке локали
$faker->person()->nameInCase(GrammaticalCase::Genitive); // склонение по падежу
$faker->person()->gender(); // Gender::Male либо Gender::Female
$faker->internet()->email(); // e-mail из транслитерированного имени
$faker->internet()->ipv4(); // IPv4-адрес
$faker->internet()->slug(); // URL-слаг из слов локали
$faker->calendar()->dateInWords(); // дата прописью: «22 декабря 2020 года»
$faker->calendar()->dayOfWeek(); // день недели на языке локали
$faker->calendar()->monthName(); // название месяца на языке локали
$faker->text()->sentence(); // предложение из настоящих слов словаря
$faker->text()->realText(90); // связный текст по марковской цепочке
$faker->payment()->creditCardNumber('Visa'); // номер, валидный по алгоритму Луна
$faker->payment()->iban('DE'); // IBAN с контролем mod-97
$faker->identifier()->uuid(); // UUID v4
$faker->address()->address(); // улица, дом, индекс и город локали
$faker->company()->company(); // название организации с орг.-правовой формой
$faker->phoneNumber()->imei(); // IMEI, валидный по Луну
$faker->barcode()->ean13(); // EAN-13 с корректной контрольной цифрой
$faker->image()->dataUri(); // «data:image/svg+xml;base64,…» — офлайн, без сети
$faker->image()->image('/tmp', 640, 480, 'png'); // настоящий PNG на диске, без сети
$faker->html()->randomHtmlFragment(1, 1); // фрагмент HTML с экранированием
$faker->regexify('[A-Z]{2}-\d{4}'); // строка по регулярному выражению
$faker->biasedNumberBetween(1, 10); // число со смещением к максимуму
// Модификаторы: уникальные, необязательные, валидируемые значения
$faker->unique()->value(fn () => $faker->numberBetween(1, 100)); // без повторов
$faker->optional(fn () => $faker->person()->name(), 0.7); // 70% — имя, иначе null
// Криптостойкий (непредсказуемый, не сидируемый) генератор:
$secure = Faker::createSecure(Locale::English);
Возможности
- 8 языков (по набору cloud-castle/inflector): ru, en, de, fr, es, pl, bg, ro.
- Склонение имён по падежам —
nameInCase()(уникально среди PHP-генераторов). - Даты и дни недели прописью на языке локали —
dateInWords(),dayOfWeek(). - Реальные слова словаря в текстах вместо латинской «рыбы» (для локалей со словарём).
- Валидные платёжные данные: карты по алгоритму Луна, IBAN по mod-97, BIC, срок действия.
- Валидные штрихкоды и IMEI: EAN-8/13, ISBN-10/13, IMEI — с корректной контрольной цифрой.
- Офлайн-изображения:
image()->dataUri()строит SVG прямо в data-URI — без сети, в отличие от аналогов, зависящих от внешних сервисов-заглушек. - Модификаторы
unique()/optional()/valid()— без повторов, с пропусками, с валидацией. - Генерация по regex —
regexify('[A-Z]{2}\d{4}'): классы,\d/\w/\s, группы, кванторы. - Правдоподобный текст —
realText()строит фразы по марковской цепочке корпуса локали, а не набором несвязанных слов. - Смещённые распределения —
biasedNumberBetween()с произвольной функцией плотности. - Офлайн-медиа — SVG и PNG собираются локально в файл нужного размера, без сети.
- Воспроизводимость: сидируемый MT19937 с изолированным состоянием, идентичная последовательность на PHP 8.1–8.5.
- Строгая типизация, беспристрастная выборка (без modulo-bias), CSPRNG-режим.
- Зависимости — только
cloud-castle/*и нативные расширения; никаких тяжёлых сторонних.
Провайдеры
Первые 17 — полный суперсет категорий FakerPHP (все 156 его форматтеров доступны по тем же именам); далее — предметные домены и провайдеры научно-инженерных сфер.
| Провайдер | Что генерирует | Методов |
|---|---|---|
acoustics | Провайдер акустических данных: свойства звука, акустические явления, единицы, приборы и диапазоны частот | 6 |
address | Провайдер адресов: улицы, дома, города, регионы, страны, индексы, координаты | 13 |
aerospace | Провайдер данных авиастроения: типы летательных аппаратов, узлы планера, производители, силовые установки, манёвры и высота полёта | 6 |
agriculture | Провайдер сельскохозяйственных данных: культуры, скот, техника, агроприёмы и типы почв | 5 |
algebra | Провайдер алгебраических данных: типы уравнений, многочлены, матрицы, группы, переменные и алгебраические структуры | 6 |
animal | Провайдер данных о животных: виды, типы, породы и клички питомцев | 4 |
architecture | Провайдер архитектурных данных: стили, элементы зданий, типы сооружений, материалы отделки и известные архитекторы | 5 |
astronomy | Провайдер астрономических данных: небесные тела, созвездия, галактики, спектральные классы звёзд и разделы астрономии | 6 |
automotive | Провайдер автомобильных данных: узлы, типы кузова, коробки передач, приводы и типы двигателей | 6 |
aviation | Провайдер авиационных данных: авиакомпании, коды аэропортов, рейсы, самолёты | 4 |
barcode | Провайдер штрихкодов: EAN-8, EAN-13, ISBN-10, ISBN-13 | 4 |
biology | Провайдер биологических данных: таксономические ранги, органеллы, системы органов, биомолекулы и разделы биологии | 5 |
blockchain | Провайдер данных блокчейна: адреса Bitcoin и Ethereum, хеши транзакций | 3 |
book | Провайдер книжных данных: заголовки, издательства, жанры, издания | 4 |
calendar | Провайдер даты и времени | 23 |
chemistry | Провайдер химических данных: соединения, функциональные группы, типы реакций, агрегатные состояния, кислоты, основания и разделы химии | 6 |
cloudComputing | Провайдер данных облачных вычислений: модели услуг, провайдеры, ресурсы, модели развёртывания и регионы | 5 |
color | Провайдер цветов: HEX, RGB(A), HSL и именованные CSS-цвета | 10 |
commerce | Провайдер торговых данных: товары, отделы, материалы, цены, артикулы, промокоды | 6 |
company | Провайдер данных о компаниях: названия, организационно-правовые формы, должности и слоганы — на языке локали | 4 |
construction | Провайдер строительных данных: материалы, инструменты, конструктивные элементы, техника, специальности и этажность | 6 |
cybersecurity | Провайдер данных информационной безопасности: угрозы, типы атак, инструменты, шифры и классы уязвимостей | 5 |
dataScience | Провайдер данных науки о данных: алгоритмы, метрики качества, задачи машинного обучения и фреймворки | 4 |
database | Провайдер данных баз данных: СУБД, модели данных, операции, типы столбцов, виды индексов и уровни изоляции транзакций | 6 |
devOps | Провайдер данных DevOps: инструменты, практики, стадии конвейера, системы мониторинга и оркестрации | 4 |
developer | Провайдер данных для разработчиков: языки, фреймворки, лицензии, git-хеши и ветки | 5 |
education | Провайдер данных об образовании: степени, специальности, вузы, студбилеты | 4 |
electronics | Провайдер данных электроники: компоненты, единицы, устройства, разъёмы и логические элементы | 6 |
energy | Провайдер данных энергетики: источники энергии, единицы, типы электростанций, накопители и виды топлива | 6 |
file | Провайдер файловых атрибутов: расширения и MIME-типы | 4 |
finance | Провайдер финансовых данных: банки и счета, идентификаторы платежей и транзакций, идентификаторы ценных бумаг (ISIN, CUSIP, SEDOL, LEI, FIGI) с корректными контрольными суммами, биржи и индексы, валюты, налоговые номера, ставки и кредитный скоринг | 31 |
food | Провайдер кулинарных данных: блюда, ингредиенты, фрукты, овощи, кухни | 5 |
geology | Провайдер геологических данных: минералы, горные породы, геологические эпохи, тектонические структуры и шкала твёрдости | 5 |
geometry | Провайдер геометрических данных: плоские и объёмные фигуры, углы, кривые, теоремы и системы координат | 6 |
html | Провайдер фрагментов и документов HTML | 2 |
http | Провайдер HTTP-данных: коды статуса, методы, порты, идентификаторы запросов | 4 |
identifier | Провайдер идентификаторов (UUID) на базе cloud-castle/uuid | 2 |
image | Провайдер изображений-заглушек | 5 |
instrumentation | Провайдер данных приборостроения: датчики, измерительные приборы, измеряемые величины, типы сигналов и классы точности | 6 |
internet | Провайдер интернет-данных: домены, e-mail, IP, MAC, логины, пароли | 17 |
logistics | Провайдер логистических данных: виды транспорта, складские объекты, товаросопроводительные документы, условия поставки Incoterms и грузовые единицы | 5 |
manufacturing | Провайдер данных производства: производственные процессы, методологии, оборудование, метрики и типы цехов | 5 |
materials | Провайдер данных материаловедения: материалы, сплавы, механические свойства, классы материалов и виды обработки | 6 |
math | Провайдер математических данных: константы, операции, системы счисления, числовые множества, простые числа, дроби, проценты и факториалы | 8 |
mechanicalEngineering | Провайдер данных машиностроения: детали, механизмы, передачи, процессы обработки и посадки | 6 |
medical | Провайдер медицинских данных: группа крови и резус-фактор | 3 |
meteorology | Провайдер метеорологических данных: атмосферные явления, приборы, типы облаков, атмосферные фронты и шкала Бофорта | 5 |
miscellaneous | Провайдер разнородных данных: хеши, версии SemVer, эмодзи, коды стран и языков | 8 |
music | Провайдер музыкальных данных: жанры, инструменты, ноты и тональности | 4 |
nanotechnology | Провайдер данных нанотехнологий: наноматериалы, наноструктуры, методы синтеза, области применения и приборы характеризации | 5 |
nautical | Провайдер морских данных: типы судов, части корабля, морские узлы, судовые роли и стороны/направления | 5 |
network | Провайдер сетевых данных: протоколы, топологии, устройства, уровни модели OSI и номера портов | 5 |
operatingSystem | Провайдер данных операционных систем: названия ОС, архитектуры ядра, алгоритмы планирования, файловые системы и механизмы IPC | 5 |
payment | Провайдер платёжных данных: типы и номера карт, валюты, криптовалюты | 9 |
person | Провайдер персональных данных: имена, фамилии, обращения, суффиксы | 11 |
pharmacy | Провайдер фармацевтических данных: лекарства, лекарственные формы, пути введения, фармакологические группы и дозировки | 5 |
phoneNumber | Провайдер телефонных номеров: национальные форматы локали, E | 4 |
physics | Провайдер физических данных: физические величины, законы, константы, единицы СИ, разделы физики и элементарные частицы | 6 |
robotics | Провайдер данных робототехники: типы роботов, приводы, сенсоры, кинематические пары и степени свободы | 6 |
science | Провайдер научных данных: химические элементы, единицы измерения, планеты | 4 |
software | Провайдер данных разработки ПО: методологии, паттерны проектирования, архитектурные стили, принципы, парадигмы и виды тестирования | 6 |
space | Провайдер данных космонавтики: космические миссии, агентства, аппараты, ракеты-носители и типы орбит | 5 |
sport | Провайдер спортивных данных: виды спорта, амплуа игроков и инвентарь | 3 |
statistics | Провайдер статистических данных: меры центра и разброса, распределения, статистические тесты, коэффициенты корреляции и типы выборок | 6 |
telecommunications | Провайдер телекоммуникационных данных: стандарты связи, технологии доступа, типы модуляции, среды передачи и сетевое оборудование | 5 |
text | Провайдер текста: слова, предложения и абзацы | 9 |
trigonometry | Провайдер тригонометрических данных: функции, тождества, характерные углы и единицы измерения углов | 5 |
userAgent | Провайдер строк User-Agent: Chrome, Firefox, Safari, Opera, Edge | 14 |
vehicle | Провайдер данных о транспортных средствах: VIN, госномера, марки, модели, топливо | 6 |
weather | Провайдер погодных данных: температура, состояние неба, ветер, влажность, давление | 5 |
webTechnology | Провайдер данных веб-технологий: фронтенд-фреймворки, языки, протоколы, инструменты сборки и веб-стандарты | 5 |
Всего 71 провайдер и 448 методов; перечень собран из кода пакета (composer docs:providers).
Свои провайдеры
Любой пользовательский провайдер регистрируется через фабрику и доступен как обычный метод-аксессор:
use CloudCastle\Faker\Provider\AbstractProvider;
final class Crypto extends AbstractProvider
{
public function coin(): string
{
return $this->randomizer()->element(['BTC', 'ETH', 'SOL']);
}
}
$faker = Faker::create();
$faker->extend('crypto', Crypto::class);
$faker->crypto()->coin(); // «ETH»
Коротко
Быстрый (в разы быстрее популярных аналогов на генерации данных), безопасный и детерминированный генератор фейковых данных. 71 провайдер покрывает все категории FakerPHP и добавляет 15 новых доменов (авто, финансы, блокчейн, наука, авиация…) плюс уникальное: склонение имён, даты прописью, реальные слова словаря, офлайн-изображения. Функционально перекрывает объединение аналогов; по скорости, памяти и безопасности лидирует. Единственный честный минус — пакет моложе и менее распространён, чем FakerPHP.
Сравнение с аналогами
Все таблицы ниже сгенерированы автоматически из честных сравнительных тестов (benchmarks/compare.php) на ОДИНАКОВОЙ операции для всех аналогов, PHP 8.1.34, без Xdebug.
1. Функциональность
| Возможность | 🏆 CloudCastle | FakerPHP | fzaninotto (устар.) | mbezhanov | hi-folks | loremipsum |
|---|---|---|---|---|---|---|
| Многоязычные данные (≥ 8 языков) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Склонение имён по падежам | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Дата и день недели прописью на языке локали | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Реальные слова словаря (не латынь) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Валидные платёжные данные (алгоритм Луна) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Офлайн-изображения (data-URI и файлы, без сети) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Часовой пояс дат без глобального состояния | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Правдоподобный текст по марковской цепочке | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Воспроизводимость на PHP 8.1–8.5 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Строго типизированный API | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Только инфраструктурные зависимости | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Всего | 🏆 11 | 3 | 3 | 3 | 2 | 2 |
2. Безопасность и корректность
| Свойство | 🏆 CloudCastle | FakerPHP | fzaninotto (устар.) | mbezhanov | hi-folks | loremipsum |
|---|---|---|---|---|---|---|
| Криптостойкий режим (CSPRNG) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Беспристрастная выборка (без modulo-bias) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Изоляция состояния (без глобального mt_rand) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Маскирование ПД из коробки | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Строгая типизация (без type juggling) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Всего | 🏆 5 | 0 | 0 | 0 | 2 | 2 |
3. Производительность
Генерация полного имени «Имя Фамилия», 200 000 раз (минимум из 4).
| Решение | Время (мс) | Итог |
|---|---|---|
| mt_rand¹ | 25,6 | базовый уровень (не библиотека) |
| 🏆 CloudCastle | 635,6 | быстрейшее среди библиотек |
| FakerPHP | 1 398,6 | аналог |
| fzaninotto (устар.) | — | замер недоступен: заброшен, требует PHP ≤ 7 — не запускается на PHP 8.1+ |
| mbezhanov | — | замер недоступен: набор провайдеров поверх FakerPHP — скорость самой генерации идентична FakerPHP |
| hi-folks | — | замер недоступен: иная модель API без эквивалентной операции «полное имя» |
| loremipsum | — | замер недоступен: узкоспециализирован (только lorem-текст), требует PHP ≥ 8.2 |
4. Потребление памяти
Фактически занятая память 50 000 удержанных имён (изолированный процесс).
| Решение | Пиковая память (KB) | Итог |
|---|---|---|
| mt_rand¹ | 4 021 | базовый уровень (не библиотека) |
| 🏆 CloudCastle | 4 203 | легчайшее среди библиотек |
| FakerPHP | 4 321 | аналог |
| fzaninotto (устар.) | — | замер недоступен: заброшен, требует PHP ≤ 7 — не запускается на PHP 8.1+ |
| mbezhanov | — | замер недоступен: набор провайдеров поверх FakerPHP — скорость самой генерации идентична FakerPHP |
| hi-folks | — | замер недоступен: иная модель API без эквивалентной операции «полное имя» |
| loremipsum | — | замер недоступен: узкоспециализирован (только lorem-текст), требует PHP ≥ 8.2 |
5. Качество кода
| Метрика качества | 🏆 CloudCastle | FakerPHP | fzaninotto (устар.) | mbezhanov | hi-folks | loremipsum |
|---|---|---|---|---|---|---|
| PHPStan max + Psalm errorLevel 1 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Строгая типизация (declare(strict_types=1)) | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Покрытие тестами 100 % строк | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Мутационное тестирование (Infection MSI 100 %) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| PSR-12 + автоформат (PHP CS Fixer) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Контроль слоёв (Deptrac) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Без зависимостей сверх инфраструктуры | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
| Всего | 🏆 7 | 2 | 1 | 1 | 2 | 3 |
6. Статический анализ по видам проверок
| Проверка | 🏆 CloudCastle | FakerPHP | fzaninotto (устар.) | mbezhanov | hi-folks | loremipsum |
|---|---|---|---|---|---|---|
| Синтаксис (php-parallel-lint) — ошибок синтаксиса | 0 | 0 | — | — | — | — |
| PHPStan, уровень max — ошибок типизации и логики | 0 | 5233 | — | — | — | — |
| PHPMD (тот же ruleset) — нарушений чистоты кода | 0 | 308 | — | — | — | — |
| Rector (тот же набор правил) — файлов с устаревшими конструкциями | 0 | 347 | — | — | — | — |
| PHPCS, стандарт PSR-12 — нарушений стандарта оформления | 0 | 7242 | — | — | — | — |
| Рост памяти после 100 000 вызовов, байт | 0 | 0 | — | — | — | — |
| Мутационное тестирование настроено | ✅ | ❌ | — | — | — | — |
Инструменты запущены с настройками гейта пакета по исходникам аналога; меньше находок — лучше. В отличие от замеров времени, эти числа не зависят от загрузки машины. Прочерк — аналог не установлен (заброшен, надстройка над FakerPHP, иная модель API или узкая специализация), проверить фактически нельзя.
¹ Базовый уровень (нативные вызовы/примитивы без полноты решения) показан для контекста и не претендует на победу среди библиотек-аналогов.
Плюсы, минусы и когда применять
Сильные стороны:
- Функционал = объединение аналогов и сверх того — 71 провайдер: полный суперсет категорий FakerPHP (адреса, компании, телефоны, платежи, штрихкоды, файлы, изображения, HTML, User-Agent, медданные, разное — все 156 форматтеров доступны по тем же именам) плюс 15 новых доменов (авто, финансы, блокчейн, наука, авиация, погода, спорт, музыка…) и уникальное: склонение имён, даты и месяцы прописью, реальные слова, марковский текст, офлайн-изображения файлом.
- Быстрее популярных генераторов на типовой генерации данных (имя, профиль) — в разы, за счёт прямого доступа к данным без разбора форматных строк.
- Корректность — карты (Луна), IBAN (mod-97), IMEI, EAN/ISBN проходят проверку
контрольной суммы; модификаторы
unique/optional/validиз коробки. - Безопасность — беспристрастная выборка, криптостойкий режим, изоляция состояния, маскирование ПД, строгая типизация.
- Память — легче FakerPHP при удержании данных.
- Детерминизм — воспроизводимые фикстуры на всех версиях PHP 8.1–8.5.
Слабые стороны (честно):
- Моложе и менее распространён, чем FakerPHP: меньше звёзд, установок и готовых сторонних провайдеров/интеграций.
Набор языков (8) намеренно совпадает с языками cloud-castle/inflector — там, где FakerPHP даёт десятки локалей транслитерацией без словоизменения, здесь каждый из 8 языков снабжён настоящей морфологией (склонение, даты прописью). Это осознанный выбор «качество вместо количества», а не пробел.
Когда применять — по сферам:
- Финтех и биллинг — карты (Луна), IBAN (mod-97), BIC, ISIN/CUSIP/SEDOL/LEI/FIGI и ABA с настоящими контрольными разрядами: формы валидации проверяются данными, которые проходят те же алгоритмы, что и боевые.
- Государственные и юридические системы, документооборот — склонение имён по падежам, даты, месяцы и дни недели прописью: шаблоны договоров и уведомлений получают грамматически корректный текст, а не «Иванов И.И. от 5 март».
- Изолированный CI и закрытый контур — изображения (SVG/PNG), файлы и HTML собираются локально: сеть не нужна ни при генерации, ни при отображении, во внешние сервисы ничего не утекает.
- Регрессионные и снапшот-тесты — воспроизводимость по зерну на всей матрице PHP 8.1–8.5: одно зерно даёт одинаковые фикстуры на всех версиях.
- Демо-стенды и вёрстка — реальные слова словаря и марковский текст на языке локали вместо латинской «рыбы»; HTML-фрагменты для проверки шаблонов.
- Нагрузочные сценарии — генерация в разы быстрее популярных аналогов при меньшем расходе памяти на удержанных данных.
Когда лучше взять другое: если проект уже завязан на экосистему готовых сторонних провайдеров FakerPHP (Doctrine-популяторы, специализированные пакеты провайдеров) — она пока шире; или если нужны десятки локалей «поверхностно», без морфологии, — там FakerPHP покрывает больше языков. Сам набор форматтеров FakerPHP при этом доступен здесь полностью, под теми же именами.
Разработка
composer install
composer check # линтеры + статический анализ + тесты
composer fix # автоисправления (Rector, PHP CS Fixer, PHPCBF)
composer ci # полный CI-пайплайн локально
composer docs:build # пересобрать сравнительные таблицы
Полный список команд с описаниями: composer run-script --list.
Документация
- Wiki (возможности, диаграммы, сравнения): wiki/docs/ru/Home.md
- Репозиторий: https://gitverse.ru/cloud-castle/faker
- История изменений: CHANGELOG.md
- Руководство по обновлению: UPGRADING.md
- Как внести вклад: CONTRIBUTING.md
- Кодекс поведения: CODE_OF_CONDUCT.md
- Политика безопасности: SECURITY.md
Лицензия
MIT © CloudCastle (alex-4-17@yandex.ru)
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano