cloud-castle / faker
Мультиязычный генератор фейковых данных для PHP 8.1+: 75 провайдеров и полный суперсет семи аналогов (FakerPHP, fzaninotto, DummyGenerator, mbezhanov, nubs, rando-php, php-loremipsum) с API FakerPHP — имена, адреса, телефоны, компании, тексты, даты, платёжные данные, HTML, UUID/ULID на 8 языках (ru/
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
- psr/clock: ^1.0
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
README
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
CloudCastle Faker
Packagist
GitVerse
Качество кода
Мультиязычный генератор фейковых данных для PHP 8.1+: имена, адреса, компании, телефоны, платёжные и банковские реквизиты, штрихкоды, тексты, даты, UUID, хеши, изображения и User-Agent на 8 языках (ru/en/de/fr/es/pl/bg/ro) — со склонением имён по падежам, датами прописью и реальными словами словаря. 75 провайдеров и полный суперсет возможностей семи аналогов: FakerPHP, fzaninotto/faker, DummyGenerator, mbezhanov/faker-provider-collection, nubs/random-name-generator, rando-php и php-loremipsum. API FakerPHP доступен как есть (
$faker->name(),$faker->email,addProvider(),unique()), часы — PSR-20. Сидируемый и детерминированный; зависимости — только cloud-castle и PSR.
Установка
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);
Код, написанный под FakerPHP, работает без переделки — плоские форматтеры, свойства, провайдеры-объекты и прокси-модификаторы доступны под теми же именами:
$faker = Faker::create(Locale::English, seed: 42);
$faker->name(); // форматтер FakerPHP
$faker->email; // свойство, как в FakerPHP
$faker->unique()->randomDigit(); // прокси unique()/optional()/valid()
$faker->addProvider(new MyFakerPhpProvider($faker)); // провайдер-объект FakerPHP
// Возможности остальных аналогов — тоже здесь:
$faker->random()->sequence(6, 1, 49, unique: true); // как rando-php
$faker->nickname()->alliteration(); // как nubs/random-name-generator
$faker->mobileDevice()->deviceModelName(); // как mbezhanov/faker-provider-collection
$faker->text()->lorem(20); // как php-loremipsum
$faker->withDefinition('crypto', Crypto::class)->crypto()->coin(); // как DummyGenerator
Возможности
- 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-режим.
- Совместимость с FakerPHP: все его форматтеры под теми же именами,
addProvider(),parse(), свойства ($faker->email), проксиunique()/optional()/valid()и режимpreferFormatters()для имён, совпадающих с аксессорами провайдеров. - Суперсет аналогов: возможности DummyGenerator (
ext(),withDefinition(),withProvider()), mbezhanov (устройства, демография, космос, медицина), nubs (аллитерации, названия игр), rando-php (последовательности, строки из наборов символов, перечисления) и php-loremipsum (lorem(),htmlParagraphs()) — полная матрица в разделе сравнения. - Часы PSR-20: относительные даты считаются от переданного
ClockInterface. - Зависимости — только
cloud-castle/*, PSR и нативные расширения.
Провайдеры
Первые 17 — полный суперсет категорий FakerPHP (все 156 его форматтеров доступны по тем же именам); далее — предметные домены и провайдеры научно-инженерных сфер.
| Провайдер | Что генерирует | Методов |
|---|---|---|
acoustics | Провайдер акустических данных: свойства звука, акустические явления, единицы, приборы и диапазоны частот | 6 |
address | Провайдер адресов: улицы, дома, города, регионы, страны, индексы, координаты | 17 |
aerospace | Провайдер данных авиастроения: типы летательных аппаратов, узлы планера, производители, силовые установки, манёвры и высота полёта | 6 |
agriculture | Провайдер сельскохозяйственных данных: культуры, скот, техника, агроприёмы и типы почв | 5 |
algebra | Провайдер алгебраических данных: типы уравнений, многочлены, матрицы, группы, переменные и алгебраические структуры | 6 |
animal | Провайдер данных о животных: виды, типы, породы и клички питомцев | 6 |
architecture | Провайдер архитектурных данных: стили, элементы зданий, типы сооружений, материалы отделки и известные архитекторы | 5 |
astronomy | Провайдер астрономических данных: небесные тела, созвездия, галактики, спектральные классы звёзд и разделы астрономии | 13 |
automotive | Провайдер автомобильных данных: узлы, типы кузова, коробки передач, приводы и типы двигателей | 6 |
aviation | Провайдер авиационных данных: авиакомпании, коды аэропортов, рейсы, самолёты | 4 |
barcode | Провайдер штрихкодов: EAN-8, EAN-13, ISBN-10, ISBN-13 | 4 |
biology | Провайдер биологических данных: таксономические ранги, органеллы, системы органов, биомолекулы и разделы биологии | 6 |
blockchain | Провайдер данных блокчейна: адреса Bitcoin и Ethereum, хеши транзакций | 3 |
book | Провайдер книжных данных: заголовки, издательства, жанры, издания | 4 |
calendar | Провайдер даты и времени | 27 |
chemistry | Провайдер химических данных: соединения, функциональные группы, типы реакций, агрегатные состояния, кислоты, основания и разделы химии | 6 |
cloudComputing | Провайдер данных облачных вычислений: модели услуг, провайдеры, ресурсы, модели развёртывания и регионы | 5 |
color | Провайдер цветов: HEX, RGB(A), HSL и именованные CSS-цвета | 10 |
commerce | Провайдер торговых данных: товары, отделы, материалы, цены, артикулы, промокоды | 6 |
company | Провайдер данных о компаниях: названия, организационно-правовые формы, должности и слоганы — на языке локали | 5 |
construction | Провайдер строительных данных: материалы, инструменты, конструктивные элементы, техника, специальности и этажность | 6 |
cybersecurity | Провайдер данных информационной безопасности: угрозы, типы атак, инструменты, шифры и классы уязвимостей | 5 |
dataScience | Провайдер данных науки о данных: алгоритмы, метрики качества, задачи машинного обучения и фреймворки | 4 |
database | Провайдер данных баз данных: СУБД, модели данных, операции, типы столбцов, виды индексов и уровни изоляции транзакций | 6 |
demographic | Провайдер демографических данных: этническая группа, уровень образования, название жителей, семейное положение и рост | 5 |
devOps | Провайдер данных DevOps: инструменты, практики, стадии конвейера, системы мониторинга и оркестрации | 4 |
developer | Провайдер данных для разработчиков: языки, фреймворки, лицензии, git-хеши и ветки | 5 |
education | Провайдер данных об образовании: степени, специальности, вузы, студбилеты | 7 |
electronics | Провайдер данных электроники: компоненты, единицы, устройства, разъёмы и логические элементы | 6 |
energy | Провайдер данных энергетики: источники энергии, единицы, типы электростанций, накопители и виды топлива | 6 |
file | Провайдер файловых атрибутов: расширения и MIME-типы | 6 |
finance | Провайдер финансовых данных: банки и счета, идентификаторы платежей и транзакций, идентификаторы ценных бумаг (ISIN, CUSIP, SEDOL, LEI, FIGI) с корректными контрольными суммами, биржи и индексы, валюты, налоговые номера, ставки и кредитный скоринг | 31 |
food | Провайдер кулинарных данных: блюда, ингредиенты, фрукты, овощи, кухни | 7 |
geology | Провайдер геологических данных: минералы, горные породы, геологические эпохи, тектонические структуры и шкала твёрдости | 5 |
geometry | Провайдер геометрических данных: плоские и объёмные фигуры, углы, кривые, теоремы и системы координат | 6 |
html | Провайдер фрагментов и документов HTML | 3 |
http | Провайдер HTTP-данных: коды статуса, методы, порты, идентификаторы запросов | 4 |
identifier | Провайдер идентификаторов на базе cloud-castle/uuid: UUID всех версий RFC 9562, ULID и NanoID | 9 |
image | Провайдер изображений-заглушек | 7 |
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, эмодзи, коды стран и языков | 9 |
mobileDevice | Провайдер данных мобильных устройств: производители, модели, платформы, серийные номера и номера сборок | 6 |
music | Провайдер музыкальных данных: жанры, инструменты, ноты и тональности | 4 |
nanotechnology | Провайдер данных нанотехнологий: наноматериалы, наноструктуры, методы синтеза, области применения и приборы характеризации | 5 |
nautical | Провайдер морских данных: типы судов, части корабля, морские узлы, судовые роли и стороны/направления | 5 |
network | Провайдер сетевых данных: протоколы, топологии, устройства, уровни модели OSI и номера портов | 5 |
nickname | Провайдер игровых прозвищ и названий: аллитерации («Brave Bear») для ников и тестовых учётных записей, названия видеоигр для каталогов и витрин | 2 |
operatingSystem | Провайдер данных операционных систем: названия ОС, архитектуры ядра, алгоритмы планирования, файловые системы и механизмы IPC | 5 |
payment | Провайдер платёжных данных: типы и номера карт, валюты, криптовалюты | 11 |
person | Провайдер персональных данных: имена, фамилии, обращения, суффиксы | 12 |
pharmacy | Провайдер фармацевтических данных: лекарства, лекарственные формы, пути введения, фармакологические группы и дозировки | 6 |
phoneNumber | Провайдер телефонных номеров: национальные форматы локали, E | 8 |
physics | Провайдер физических данных: физические величины, законы, константы, единицы СИ, разделы физики и элементарные частицы | 6 |
random | Провайдер случайных примитивов сверх базовых: последовательности чисел, строки из готовых или своих наборов символов (включая многобайтовые), случайные варианты перечислений и функции плотности для {@see \CloudCastle\Faker\Generator::biasedNumberBetween()} | 8 |
robotics | Провайдер данных робототехники: типы роботов, приводы, сенсоры, кинематические пары и степени свободы | 6 |
science | Провайдер научных данных: химические элементы, единицы измерения, планеты | 6 |
software | Провайдер данных разработки ПО: методологии, паттерны проектирования, архитектурные стили, принципы, парадигмы и виды тестирования | 6 |
space | Провайдер данных космонавтики: космические миссии, агентства, аппараты, ракеты-носители и типы орбит | 8 |
sport | Провайдер спортивных данных: виды спорта, амплуа игроков и инвентарь | 4 |
statistics | Провайдер статистических данных: меры центра и разброса, распределения, статистические тесты, коэффициенты корреляции и типы выборок | 6 |
telecommunications | Провайдер телекоммуникационных данных: стандарты связи, технологии доступа, типы модуляции, среды передачи и сетевое оборудование | 5 |
text | Провайдер текста: слова, предложения и абзацы | 10 |
trigonometry | Провайдер тригонометрических данных: функции, тождества, характерные углы и единицы измерения углов | 5 |
userAgent | Провайдер строк User-Agent: Chrome, Firefox, Safari, Opera, Edge | 15 |
vehicle | Провайдер данных о транспортных средствах: VIN, госномера, марки, модели, топливо | 6 |
weather | Провайдер погодных данных: температура, состояние неба, ветер, влажность, давление | 5 |
webTechnology | Провайдер данных веб-технологий: фронтенд-фреймворки, языки, протоколы, инструменты сборки и веб-стандарты | 5 |
Всего 75 провайдеров и 522 метода; перечень собран из кода пакета (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»
Коротко
Детерминированный генератор фейковых данных, который по функциональности перекрывает объединение семи аналогов, а по скорости выигрывает большинство одинаковых операций у каждого из них. Статический анализ, мутационное тестирование, безопасность и утечки — в таблицах ниже, каждая с графой победителя. Честные минусы — в разделе «Плюсы, минусы и когда применять».
Сравнение с аналогами
Все таблицы ниже сгенерированы автоматически стендом benchmarks/ (compare.php → analysis.php → generate.php): каждый пакет установлен изолированно в var/analogs/<пакет> — включая сам cloud-castle/faker в production-установке без dev-зависимостей — и измерен в отдельном процессе без Xdebug (замеры — PHP 8.3.35, анализ — PHP 8.3.35). Жирным выделено лучшее значение строки.
Сводка по этапам
Сколько строк каждого раздела выиграл пакет (ничьи не засчитываются).
| Этап | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Функциональность | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| phplint | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | CloudCastle, DummyGenerator, loremipsum |
| Psalm | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| PHPStan | 4 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | CloudCastle |
| PHPMD | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | CloudCastle, nubs |
| PHPCS | 3 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | CloudCastle |
| Rector | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | CloudCastle |
| Deptrac | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| Мутационное тестирование | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| Безопасность | 4 | 1 | 0 | 2 | 2 | 2 | 3 | 2 | CloudCastle |
| Потребление памяти | 19 | 0 | 0 | 0 | 0 | 1 | 6 | 3 | CloudCastle |
| Утечки памяти | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ничья |
| Производительность | 29 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| Качество | 3 | 3 | 1 | 1 | 0 | 0 | 1 | 0 | CloudCastle, FakerPHP |
| Всего | 78 | 6 | 2 | 6 | 2 | 5 | 14 | 6 | CloudCastle |
1. Функциональность
Возможности сняты рефлексией с установленного кода каждого пакета (benchmarks/inventory.php): публичные методы генератора и провайдеров, форматтеры и их синонимы; для пакетов иной формы API — точки входа, сопоставленные эквивалентным форматтерам. Имена сравниваются без учёта регистра.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Возможностей всего | 524 | 183 | 170 | 141 | 48 | 2 | 13 | 8 | CloudCastle |
| Уникальных (нет ни у одного другого пакета) | 268 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CloudCastle |
| Покрыто возможностей остальных пакетов | 100,0 % | 34,9 % | 32,4 % | 26,9 % | 9,2 % | 0,4 % | 2,5 % | 1,5 % | CloudCastle |
Полная матрица: все возможности всех пакетов
| Возможность | **CloudCastle** | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|---| | `accessTechnology` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `accountType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `accuracyClass` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `actuator` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `addProvider` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `address` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `agency` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `agencyAbv` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `aircraft` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `aircraftType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `airline` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `airportCode` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `algorithm` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `alliteration` | **✅** | — | — | — | — | **✅** | — | — | CloudCastle, nubs | | `alloy` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `altitude` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `amount` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `amPm` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `androidMobileToken` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `angleDegrees` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `angleType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `angleUnit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `animal` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `animalType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `anyDate` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `anyDateBetween` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `anyTimezone` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `apparentMagnitude` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `application` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `architect` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `architecture` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `areaCode` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `asciify` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `attackType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `avatar` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `bankAccountNumber` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `bankName` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `bankRoutingNumber` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `beaufortScale` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `biasedNumberBetween` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `biomolecule` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `bird` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `bitcoinAddress` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `bloodGroup` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `bloodRh` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `bloodType` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `bodyType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `bookTitle` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `boolean` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `bothify` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `branch` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `breed` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `bs` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `buildingNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `buildTool` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `businessSpeak` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `calculateRoutingNumberChecksum` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `campus` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `capacity` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `catchPhrase` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `category` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `celestialBody` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `century` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `chemicalElement` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `chemicalElementSymbol` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `chemicalSymbol` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `chrome` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `cipher` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `city` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `cityPrefix` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `citySuffix` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `cloudType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `colorName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `company` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `companyEmail` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `companySuffix` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `component` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `compound` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `condition` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `connector` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `constant` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `constellation` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `controller` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `coordinates` | **✅** | — | — | **✅** | — | — | **✅** | — | CloudCastle, DummyGenerator, rando-php | | `coordinateSystem` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `correlation` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `country` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `countryCode` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `countryISOAlpha2` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `countryISOAlpha3` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `course` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `create` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `createSecure` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `creature` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `creditCardDetails` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `creditCardExpirationDate` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `creditCardExpirationDateString` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `creditCardNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `creditCardType` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `creditScore` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `crop` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `cryptoCurrency` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `cuisine` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `currencyCode` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `currencyName` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `currencySymbol` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `curve` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `cusip` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `dataType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `dataUri` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `date` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `dateInWords` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `dateTime` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeAD` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeBetween` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `dateTimeInInterval` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeThisCentury` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeThisDecade` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeThisMonth` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dateTimeThisWeek` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `dateTimeThisYear` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dayOfMonth` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dayOfWeek` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `degree` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `degreesOfFreedom` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `demonym` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `density` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `department` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `deployment` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `device` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `deviceBuildNumber` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `deviceManufacturer` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `deviceModelName` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `devicePlatform` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `deviceSerialNumber` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `deviceVersion` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `direction` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `dish` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `distanceMeasurement` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `distribution` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `document` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `domainName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `domainWord` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `dosageUnit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `drivetrain` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `drug` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `e164PhoneNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `ean13` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `ean8` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `edge` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `edition` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `educationalAttainment` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `ein` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `element` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `email` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `emoji` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `engineType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `enumCase` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `enumValue` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `equationType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `equipment` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `ethereumAddress` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `exchangeCode` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `exchangeRate` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `ext` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `extend` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `extension` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `facility` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `factorial` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `fieldOfStudy` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `figi` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `file` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `fileExtension` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `fileName` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `filePath` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `filesystem` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `firefox` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `firstName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `firstNameFemale` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `firstNameMale` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `fit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `flightNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `floors` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `form` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `format` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `formatterNames` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `fraction` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `framework` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `freeEmail` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `freeEmailDomain` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `frequency` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `frequencyRange` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `front` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `fruit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `fuel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `fuelType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `function` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `functionalGroup` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `galaxy` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `galaxyType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `gender` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `genre` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `getDefaultTimezone` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `getFormatConstants` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `getFormats` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `getFormatter` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `getProvider` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `getProviders` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `gitBranch` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `gitCommitHash` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `height` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `hexColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `horsepower` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `hslColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `hslColorAsArray` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `htmlParagraphs` | **✅** | — | — | — | — | — | — | **✅** | CloudCastle, loremipsum | | `humidity` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `iban` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `identity` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `image` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `imageUrl` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `imei` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `incoterm` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `indexType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `inflector` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `ingredient` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `instrument` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `interestRate` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `internetExplorer` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `invoiceNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `iosMobileToken` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `ipc` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `ipv4` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `ipv6` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `isbn10` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `isbn13` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `isin` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `iso8601` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `isolationLevel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `jobTitle` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `joint` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `kernel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `knot` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `language` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `languageCode` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `lastName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `latitude` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `launchVehicle` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `law` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `lei` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `lexify` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `license` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `licensePlate` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `linearHigh` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `linearLow` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `linuxPlatformToken` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `linuxProcessor` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `livestock` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `loadUnit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `loanType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `localCoordinates` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `locale` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `localIpv4` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `logicGate` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `longitude` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `lorem` | **✅** | — | — | — | — | — | — | **✅** | CloudCastle, loremipsum | | `macAddress` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `machinery` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `macPlatformToken` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `macProcessor` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `maneuver` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `manufacturer` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `maritalStatus` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `marketIndex` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `material` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `matrixSize` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `md5` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `measurand` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `measure` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `measurement` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `mechanism` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `medicine` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `medium` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `meteorite` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `method` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `methodology` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `metric` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `mimeType` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `mineral` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `mission` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `model` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `modulation` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `mohsHardness` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `monomial` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `month` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `monthName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `moon` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `msedge` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `musicalKey` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `name` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `nameInCase` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `nanoId` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `nasaSpaceCraft` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `nebula` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `note` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `numberBase` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `numberBetween` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `numberSet` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `numerify` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `opera` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `operation` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `optional` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `orbit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `orchestrator` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `organelle` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `organSystem` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `osiLayer` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `paradigm` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `paragraph` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `paragraphs` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `parse` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `particle` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `passthrough` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `password` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `pattern` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `paymentId` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `paymentMethod` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `paymentTerm` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `percentage` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `period` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `petName` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `phenomenon` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `phLevel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `phoneNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `phoneNumberWithExtension` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `placeholder` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `planet` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `plant` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `polynomialDegree` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `port` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `position` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `postcode` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `powerPlant` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `practice` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `preferFormatters` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `pressure` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `price` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `primeNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `principle` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `process` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `productionType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `productMaterial` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `productName` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `programmingLanguage` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `promotionCode` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `property` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `propulsion` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `protocol` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `provider` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `publisher` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `pValue` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `quantity` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `race` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `radians` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `randomAscii` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `randomBytes` | **✅** | — | — | — | — | — | **✅** | — | CloudCastle, rando-php | | `randomDigit` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `randomDigitNot` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `randomDigitNotNull` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `randomDigitNotZero` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `randomElement` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `randomElements` | **✅** | **✅** | **✅** | — | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, rando-php | | `randomFloat` | **✅** | **✅** | **✅** | **✅** | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php | | `randomHtml` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `randomHtmlFragment` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `randomizer` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `randomKey` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `randomLetter` | **✅** | **✅** | **✅** | — | — | — | **✅** | — | CloudCastle, FakerPHP, fzaninotto, rando-php | | `randomNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `reactionType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `realText` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `realTextBetween` | **✅** | **✅** | — | — | — | — | — | — | CloudCastle, FakerPHP | | `referenceNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `regexify` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `requestId` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `resource` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `rgbaCssColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `rgbColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `rgbColorAsArray` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `rgbCssColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `robotType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `rock` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `role` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `route` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `routingNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `safari` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `safeColorName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `safeEmail` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `safeEmailDomain` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `safeHexColor` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `samplingMethod` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `samplingRate` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `scaling` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `scheduler` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `scientist` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `secondaryAddress` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `secondarySchool` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `sedol` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `seed` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `semver` | **✅** | **✅** | — | **✅** | — | — | — | — | CloudCastle, FakerPHP, DummyGenerator | | `sensor` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `sentence` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `sentences` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `sequence` | **✅** | — | — | — | — | — | **✅** | — | CloudCastle, rando-php | | `serviceModel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `setDefaultTimezone` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `sha1` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `sha256` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `shape` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `shipPart` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `shuffle` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `shuffleArray` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `shuffleString` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `signalType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `sku` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `slug` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `soilType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `solid` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `sortCode` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `source` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `spaceCompany` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `spacecraft` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `specialAngle` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `spectralClass` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `spice` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `sport` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `ssn` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `stage` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `standard` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `star` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `starCluster` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `state` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `stateAbbr` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `statusCode` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `stockExchange` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `stockTicker` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `storage` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `streetAddress` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `streetName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `streetSuffix` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `string` | **✅** | — | — | **✅** | — | — | **✅** | — | CloudCastle, DummyGenerator, rando-php | | `structuralElement` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `structure` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `structureType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `studentId` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `style` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `suffix` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `swiftBicNumber` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `synthesisMethod` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `system` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `task` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `taxIdNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `taxonomicRank` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `team` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `technique` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `temperature` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `test` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `testingType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `text` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `threat` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `time` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `timezone` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `title` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `titleFemale` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `titleMale` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `tld` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `tolerance` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `tollFreeAreaCode` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `tollFreePhoneNumber` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `toLower` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `tool` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `topology` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `toUpper` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `transactionHash` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `transactionId` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `transactionType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `transmission` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `transportMode` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `treatment` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `ulid` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `unbiased` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `unique` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `unit` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `university` | **✅** | — | — | — | **✅** | — | — | — | CloudCastle, mbezhanov | | `unixTime` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `url` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `userAgent` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `userName` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `uuid` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `uuid1` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `uuid3` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `uuid4` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `uuid5` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `uuid6` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `uuid7` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `valid` | **✅** | **✅** | **✅** | — | — | — | — | — | CloudCastle, FakerPHP, fzaninotto | | `variable` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vatNumber` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vegetable` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vehicleBrand` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vehicleModel` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vehicleType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vesselType` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `videoGameName` | **✅** | — | — | — | — | **✅** | — | — | CloudCastle, nubs | | `vin` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `voltage` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `vulnerability` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `windowsPlatformToken` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator | | `windSpeed` | **✅** | — | — | — | — | — | — | — | CloudCastle | | `withDefinition` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `withProvider` | **✅** | — | — | **✅** | — | — | — | — | CloudCastle, DummyGenerator | | `word` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `words` | **✅** | **✅** | **✅** | **✅** | — | — | — | **✅** | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, loremipsum | | `year` | **✅** | **✅** | **✅** | **✅** | — | — | — | — | CloudCastle, FakerPHP, fzaninotto, DummyGenerator |2. phplint
Синтаксис исходников под PHP 8.3 (php-parallel-lint).
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ничья |
Файлов с declare(strict_types=1) | 100,0 % | 3,1 % | 0,0 % | 100,0 % | 0,0 % | 0,0 % | 0,0 % | 100,0 % | CloudCastle, DummyGenerator, loremipsum |
3. Psalm
Psalm с настройками гейта пакета (errorLevel 1, строгие бинарные операнды) по src/ каждого пакета; поиск неиспользуемого кода отключён для всех, так как тесты аналогов не входят в дистрибутив.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 6 270 | 6 113 | 446 | 215 | 37 | 46 | 19 | CloudCastle |
| Находок на 1000 строк кода | 0,00 | 52,33 | 55,05 | 81,30 | 524,39 | 141,76 | 43,44 | 57,06 | CloudCastle |
| errorLevel Psalm в репозитории (1 — строже всего) | 1 | 5 | — | — | — | — | — | — | CloudCastle |
| Подавленных ошибок в baseline | 0 | 32 | — | — | — | — | — | — | CloudCastle |
4. PHPStan
PHPStan уровня max с настройками гейта пакета по src/ каждого пакета.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 5 259 | 5 183 | 110 | 193 | 45 | 25 | 19 | CloudCastle |
| Находок на 1000 строк кода | 0,00 | 43,89 | 46,68 | 20,05 | 470,73 | 172,41 | 23,61 | 57,06 | CloudCastle |
| Уровень PHPStan в репозитории | max | 5 | — | 8 | — | — | 6 | — | CloudCastle |
| Подавленных ошибок в baseline | 0 | 72 | — | 0 | — | — | 0 | — | CloudCastle, DummyGenerator, rando-php |
5. PHPMD
PHPMD с набором правил гейта пакета (phpmd.xml).
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 308 | 275 | 31 | 12 | 0 | 12 | 6 | CloudCastle, nubs |
| Находок на 1000 строк кода | 0,00 | 2,57 | 2,48 | 5,65 | 29,27 | 0,00 | 11,33 | 18,02 | CloudCastle, nubs |
6. PHPCS
PHPCS со стандартом гейта пакета (PSR-12).
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 7 242 | 9 327 | 261 | 57 | 23 | 0 | 1 | CloudCastle, rando-php |
| Находок на 1000 строк кода | 0,00 | 60,44 | 83,99 | 47,58 | 139,02 | 88,12 | 0,00 | 3,00 | CloudCastle, rando-php |
| Конфигурация стиля кода в репозитории | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | CloudCastle, FakerPHP, DummyGenerator |
7. Rector
Rector с наборами гейта пакета (PHP 8.1, dead code, code quality, type declarations): файлов, которые он изменил бы.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Находок | 0 | 347 | 425 | 16 | 2 | 5 | 9 | 1 | CloudCastle |
| Находок на 1000 строк кода | 0,00 | 2,90 | 3,83 | 2,92 | 4,88 | 19,16 | 8,50 | 3,00 | CloudCastle |
| Rector в репозитории | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | CloudCastle, FakerPHP, rando-php |
8. Deptrac
Правила архитектурных слоёв зависят от проекта, поэтому сравнивается наличие контроля слоёв.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Правила архитектурных слоёв (Deptrac) в репозитории | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | CloudCastle |
9. Мутационное тестирование
MSI измерен прогоном Infection у собственного пакета; у аналогов — наличие мутационного тестирования.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Infection в репозитории | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | CloudCastle |
| MSI | 100,00 % | — | — | — | — | — | — | — | CloudCastle |
10. Безопасность
Вызовы подсчитаны по токенам PHP в src/ (методы и комментарии не учитываются), уязвимости — composer audit по production-установке пакета.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
Вызовов некриптостойкого ГПСЧ (mt_rand, rand, array_rand, shuffle…) | 0 | 42 | 172 | 1 | 5 | 3 | 4 | 6 | CloudCastle |
Вызовов, меняющих глобальное зерно (mt_srand, srand) | 0 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | CloudCastle, DummyGenerator, mbezhanov, nubs, rando-php, loremipsum |
Криптостойкий источник (random_int/random_bytes) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | CloudCastle, rando-php |
Опасных вызовов (eval, unserialize, exec, system…) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ничья |
Известных уязвимостей в дереве зависимостей (composer audit) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ничья |
| Заброшенных пакетов в дереве зависимостей | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | CloudCastle, FakerPHP, DummyGenerator, mbezhanov, nubs, rando-php, loremipsum |
Соответствие стандартам безопасности
Каждая отметка выведена из измерений выше и клона репозитория, а не заполнена вручную.
| Стандарт / требование | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| CWE-338: доступен криптостойкий ГПСЧ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | CloudCastle, rando-php |
| CWE-1108: не меняет глобальное состояние ГПСЧ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | CloudCastle, DummyGenerator, mbezhanov, nubs, rando-php, loremipsum |
| CWE-95 / CWE-502 / CWE-78: нет eval, unserialize, запуска команд | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ничья |
| OWASP Top 10 A06:2021: нет уязвимых и заброшенных компонентов | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | CloudCastle, FakerPHP, DummyGenerator, mbezhanov, nubs, rando-php, loremipsum |
| OpenSSF Scorecard «Security-Policy»: есть SECURITY.md | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | CloudCastle, FakerPHP |
| OpenSSF Scorecard «Maintained»: коммиты за последние 90 дней | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | CloudCastle |
| OpenSSF Scorecard «CI-Tests»: тесты в CI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ничья |
| OpenSSF Scorecard «SAST»: статический анализ в репозитории | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | CloudCastle, FakerPHP, DummyGenerator, rando-php |
| OpenSSF Scorecard «Dependency-Update-Tool»: Dependabot/Renovate | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | FakerPHP, fzaninotto, DummyGenerator |
| OpenSSF Scorecard «License»: лицензия в репозитории | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ничья |
11. Потребление памяти
Память самой библиотеки, КБ: прирост пика от точки до подключения автозагрузчика до конца 20 000 вызовов операции. Прочерк — у пакета нет такой возможности.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
name | 845,3 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
firstName | 845,3 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
email | 1 150,0 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
integer | 662,1 | 1 822,1 | 1 719,0 | 1 560,2 | — | — | 151,1 | — | rando-php |
float | 662,1 | 1 822,1 | 1 719,0 | 1 560,2 | — | — | 151,1 | — | rando-php |
boolean | 662,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | 151,1 | — | rando-php |
word | 769,0 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | 183,0 | loremipsum |
sentence | 981,0 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | 183,0 | loremipsum |
paragraph | 981,0 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | 183,0 | loremipsum |
uuid | 759,3 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
date | 722,5 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | 151,1 | — | rando-php |
hexColor | 662,1 | 1 822,1 | 1 719,0 | 1 480,0 | — | — | — | — | CloudCastle |
ipv4 | 662,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
creditCardNumber | 662,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
iban | 662,1 | 1 822,1 | 1 719,0 | 1 560,2 | — | — | — | — | CloudCastle |
ean13 | 662,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
phoneNumber | 818,7 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
address | 824,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
company | 839,0 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
userAgent | 662,1 | 1 822,1 | 1 719,0 | 1 560,0 | — | — | — | — | CloudCastle |
lexify | 662,1 | 1 822,1 | 1 719,0 | 1 560,2 | — | — | — | — | CloudCastle |
deviceModel | 662,1 | — | — | — | 1 860,5 | — | — | — | CloudCastle |
planet | 662,1 | — | — | — | 1 860,5 | — | — | — | CloudCastle |
alliteration | 662,1 | — | — | — | — | 151,1 | — | — | nubs |
sequence | 662,1 | — | — | — | — | — | 151,1 | — | rando-php |
medicine | 662,1 | — | — | — | 1 860,5 | — | — | — | CloudCastle |
race | 662,1 | — | — | — | 1 860,5 | — | — | — | CloudCastle |
videoGameName | 662,1 | — | — | — | — | 824,2 | — | — | CloudCastle |
chars | 662,1 | — | — | — | — | — | 161,5 | — | rando-php |
12. Утечки памяти
Рост удерживаемой памяти после прогрева на 50 000 вызовов, байт (0 — утечек нет).
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
name | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
firstName | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
email | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
integer | 0 | 0 | 0 | 0 | — | — | 0 | — | ничья |
float | 0 | 0 | 0 | 0 | — | — | 0 | — | ничья |
boolean | 0 | 0 | 0 | 0 | — | — | 0 | — | ничья |
word | 0 | 0 | 0 | 0 | — | — | — | 0 | ничья |
sentence | 0 | 0 | 0 | 0 | — | — | — | 0 | ничья |
paragraph | 0 | 0 | 0 | 0 | — | — | — | 0 | ничья |
uuid | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
date | 0 | 0 | 0 | 0 | — | — | 0 | — | ничья |
hexColor | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
ipv4 | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
creditCardNumber | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
iban | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
ean13 | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
phoneNumber | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
address | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
company | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
userAgent | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
lexify | 0 | 0 | 0 | 0 | — | — | — | — | ничья |
deviceModel | 0 | — | — | — | 0 | — | — | — | ничья |
planet | 0 | — | — | — | 0 | — | — | — | ничья |
alliteration | 0 | — | — | — | — | 0 | — | — | ничья |
sequence | 0 | — | — | — | — | — | 0 | — | ничья |
medicine | 0 | — | — | — | 0 | — | — | — | ничья |
race | 0 | — | — | — | 0 | — | — | — | ничья |
videoGameName | 0 | — | — | — | — | 0 | — | — | ничья |
chars | 0 | — | — | — | — | — | 0 | — | ничья |
13. Производительность
Время серии из 20 000 вызовов, мс (лучшее из 5 серий). Прочерк — у пакета нет такой возможности. Разница меньше 3 % лежит в пределах разброса повторных замеров: такие пакеты делят победу.
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
name | 31,48 | 116,09 | 110,23 | 340,45 | — | — | — | — | CloudCastle |
firstName | 19,24 | 72,41 | 68,91 | 187,84 | — | — | — | — | CloudCastle |
email | 148,76 | 342,25 | 339,28 | 543,58 | — | — | — | — | CloudCastle |
integer | 6,41 | 6,77 | 7,12 | 16,41 | — | — | 14,22 | — | CloudCastle |
float | 6,15 | 9,21 | 7,82 | 19,12 | — | — | 12,02 | — | CloudCastle |
boolean | 5,03 | 6,19 | 5,30 | 15,42 | — | — | 15,48 | — | CloudCastle |
word | 8,22 | 20,15 | 18,85 | 2 191,56 | — | — | — | 57,99 | CloudCastle |
sentence | 46,24 | 109,52 | 102,11 | 14 343,07 | — | — | — | 88,92 | CloudCastle |
paragraph | 135,71 | 373,23 | 341,71 | 50 080,49 | — | — | — | 454,99 | CloudCastle |
uuid | 21,69 | 43,54 | 40,71 | 33,39 | — | — | — | — | CloudCastle |
date | 75,64 | 105,11 | 104,04 | 112,68 | — | — | 145,78 | — | CloudCastle |
hexColor | 7,05 | 7,81 | 6,92 | 16,55 | — | — | — | — | CloudCastle, fzaninotto |
ipv4 | 9,07 | 12,80 | 9,74 | 30,26 | — | — | — | — | CloudCastle |
creditCardNumber | 55,28 | 98,60 | 98,01 | 271,03 | — | — | — | — | CloudCastle |
iban | 43,49 | 98,07 | 103,31 | 270,53 | — | — | — | — | CloudCastle |
ean13 | 32,80 | 53,43 | 53,64 | 63,91 | — | — | — | — | CloudCastle |
phoneNumber | 42,74 | 209,94 | 73,22 | 45,44 | — | — | — | — | CloudCastle |
address | 75,44 | 424,16 | 400,01 | 944,25 | — | — | — | — | CloudCastle |
company | 26,13 | 85,71 | 83,74 | 191,17 | — | — | — | — | CloudCastle |
userAgent | 43,38 | 109,18 | 90,83 | 369,50 | — | — | — | — | CloudCastle |
lexify | 33,84 | 40,29 | 50,91 | 71,65 | — | — | — | — | CloudCastle |
deviceModel | 7,97 | — | — | — | 16,08 | — | — | — | CloudCastle |
planet | 7,89 | — | — | — | 15,02 | — | — | — | CloudCastle |
alliteration | 22,02 | — | — | — | — | 85,23 | — | — | CloudCastle |
sequence | 36,62 | — | — | — | — | — | 40,98 | — | CloudCastle |
medicine | 7,89 | — | — | — | 41,29 | — | — | — | CloudCastle |
race | 7,99 | — | — | — | 15,01 | — | — | — | CloudCastle |
videoGameName | 7,99 | — | — | — | — | 14,15 | — | — | CloudCastle |
chars | 62,41 | — | — | — | — | — | 149,04 | — | CloudCastle |
14. Качество
Практики сняты с клона исходного репозитория каждого пакета; покрытие измерено только у собственного пакета (у аналогов прочерк — не измерялось).
| Метрика | CloudCastle | FakerPHP | fzaninotto | DummyGenerator | mbezhanov | nubs | rando-php | loremipsum | 🏆 Победитель |
|---|---|---|---|---|---|---|---|---|---|
| Файлов тестов | 102 | 169 | 130 | 58 | 12 | 3 | 11 | 1 | FakerPHP |
| Покрытие тестами (строки и методы) | 100,00 % | — | — | — | — | — | — | — | CloudCastle |
| Конвейеров CI | 4 | 7 | 1 | 1 | 1 | 2 | 1 | 1 | FakerPHP |
| Журнал изменений | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | CloudCastle, FakerPHP, fzaninotto, DummyGenerator, rando-php |
| Последний коммит | 2026-09-30 | 2026-02-04 | 2020-12-11 | 2026-02-27 | 2023-12-26 | 2021-01-12 | 2024-11-21 | 2026-05-12 | CloudCastle |
Воспроизвести: php benchmarks/compare.php && php benchmarks/analysis.php && php benchmarks/generate.php.
Плюсы, минусы и когда применять
Сильные стороны (все цифры — в таблицах сравнения выше):
- Функциональность — 75 провайдеров и суперсет возможностей семи аналогов: все форматтеры FakerPHP под теми же именами плюс то, чего нет ни у кого из них, — склонение имён, даты прописью, реальные слова словаря, марковский текст, офлайн-изображения, финансовые идентификаторы с контрольными разрядами.
- Скорость — на всех общих операциях быстрее FakerPHP и DummyGenerator, быстрее
fzaninotto или вровень с ним (
hexColor— в пределах разброса замеров): данные берутся напрямую, без разбора форматных строк, а малые диапазоны упаковываются по нескольку значений в одно слово генератора. - Корректность — карты (Луна), IBAN (mod-97), ABA, IMEI, EAN/ISBN, ISIN/CUSIP/SEDOL/LEI проходят проверку контрольной суммы.
- Безопасность — ни одного вызова
mt_rand/rand/shuffleи глобального зерна, беспристрастная выборка без смещения по модулю, криптостойкий режим, нетeval,unserializeи запуска команд. - Качество — PHPStan max и Psalm errorLevel 1 без baseline, покрытие 100 %, Infection MSI 100 %, архитектурные слои под контролем Deptrac.
- Детерминизм — одно зерно даёт одни и те же данные на PHP 8.1–8.5 и в версиях 1.2 и 1.3: обновление не ломает сохранённые фикстуры.
Слабые стороны (честно):
- Моложе и менее распространён, чем FakerPHP: меньше звёзд, установок и готовых сторонних интеграций (Doctrine-популяторы, пакеты провайдеров).
- 8 языков против ~70 локалей FakerPHP. Набор намеренно совпадает с языками cloud-castle/inflector: каждый язык получает настоящую морфологию (склонение, даты прописью), но «поверхностных» локалей у FakerPHP больше.
- Память — единственный компромисс. Полноценный генератор легче FakerPHP, fzaninotto и DummyGenerator, но тяжелее однофункциональных микробиблиотек (nubs, rando-php, php-loremipsum), которые умеют одну-две вещи.
- Совпадающие имена. Семь имён —
address(),company(),file(),image(),phoneNumber(),text(),userAgent()— у нас аксессоры провайдеров, а у FakerPHP форматтеры. Код FakerPHP, вызывающий их как форматтеры, включаетpreferFormatters(). - OpenSSF Scorecard недоступен: сервис оценивает только репозитории GitHub.
Когда применять — по сферам:
- Финтех и биллинг — карты (Луна), IBAN (mod-97), BIC, ISIN/CUSIP/SEDOL/LEI/FIGI и ABA с настоящими контрольными разрядами: формы валидации проверяются данными, которые проходят те же алгоритмы, что и боевые.
- Государственные и юридические системы, документооборот — склонение имён по падежам, даты, месяцы и дни недели прописью: шаблоны договоров и уведомлений получают грамматически корректный текст, а не «Иванов И.И. от 5 март».
- Изолированный CI и закрытый контур — изображения (SVG/PNG), файлы и HTML собираются локально: сеть не нужна ни при генерации, ни при отображении, во внешние сервисы ничего не утекает.
- Регрессионные и снапшот-тесты — воспроизводимость по зерну на всей матрице PHP 8.1–8.5: одно зерно даёт одинаковые фикстуры на всех версиях.
- Демо-стенды и вёрстка — реальные слова словаря и марковский текст на языке локали вместо латинской «рыбы»; HTML-фрагменты для проверки шаблонов.
- Нагрузочные сценарии и большие фикстуры — генерация быстрее полноценных аналогов при меньшей памяти, без утечек на длинных прогонах.
- Миграция с FakerPHP — существующие фабрики и провайдеры продолжают работать:
имена форматтеров,
addProvider(),unique()/optional()/valid()совпадают.
Когда лучше взять другое: если нужны десятки локалей «поверхностно», без морфологии, — FakerPHP покрывает больше языков; если важна каждая сотня килобайт памяти, а нужна одна функция (только lorem ipsum или только ники), — микробиблиотека вроде php-loremipsum или nubs легче.
Разработка
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
- Возможности — страница на каждую, с диаграммой и сравнением: wiki/docs/ru/Features.md
- Полная матрица возможностей всех пакетов: wiki/docs/ru/Feature-matrix.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