Generator
in package
Фасад генератора фейковых данных.
Связывает источник случайности (RandomEngineInterface), локаль и инфлектор, предоставляя эргономичные примитивы (числа, булевы, выбор из набора, перемешивание) поверх Randomizer. Провайдеры доменных данных (имена, адреса, тексты) подключаются отдельными методами-акцессорами.
Экземпляр создаётся фабрикой Faker::create(). Дополнительные встроенные провайдеры научно-инженерных сфер доступны как методы-акцессоры через механизм расширения (extend()); их регистрация — в BUILTIN.
Table of Contents
Methods
- __call() : ProviderInterface
- Разрешить вызов зарегистрированного провайдера как метода генератора.
- __construct() : mixed
- acoustics() : Acoustics
- address() : Address
- aerospace() : Aerospace
- agriculture() : Agriculture
- algebra() : Algebra
- animal() : Animal
- architecture() : Architecture
- asciify() : string
- Заменить `*` на случайный печатный ASCII-символ в шаблоне.
- astronomy() : Astronomy
- automotive() : Automotive
- aviation() : Aviation
- barcode() : Barcode
- biology() : Biology
- blockchain() : Blockchain
- book() : Book
- boolean() : bool
- Булево значение с заданной вероятностью истины в процентах.
- bothify() : string
- Применить к шаблону numerify и lexify.
- calendar() : Calendar
- chemistry() : Chemistry
- cloudComputing() : CloudComputing
- color() : Color
- commerce() : Commerce
- company() : Company
- construction() : Construction
- cybersecurity() : Cybersecurity
- database() : Database
- dataScience() : DataScience
- developer() : Developer
- devOps() : DevOps
- education() : Education
- electronics() : Electronics
- energy() : Energy
- extend() : $this
- Зарегистрировать пользовательский провайдер данных под именем.
- file() : File
- finance() : Finance
- food() : Food
- geology() : Geology
- geometry() : Geometry
- http() : Http
- identifier() : Identifier
- image() : Image
- inflector() : Inflector
- Инфлектор языка локали (склонение, плюрализация, числа прописью).
- instrumentation() : Instrumentation
- internet() : Internet
- lexify() : string
- Заменить `?` на случайную строчную латинскую букву в шаблоне.
- locale() : Locale
- Локаль генератора.
- logistics() : Logistics
- manufacturing() : Manufacturing
- materials() : Materials
- math() : Math
- mechanicalEngineering() : MechanicalEngineering
- medical() : Medical
- meteorology() : Meteorology
- miscellaneous() : Miscellaneous
- music() : Music
- nanotechnology() : Nanotechnology
- nautical() : Nautical
- network() : Network
- numberBetween() : int
- Целое число в диапазоне [$min, $max] включительно.
- numerify() : string
- Заменить `#` на цифру (0–9), `%` — на цифру 1–9 в шаблоне.
- operatingSystem() : OperatingSystem
- optional() : TValue|TDefault
- Значение генератора с заданной вероятностью, иначе значение по умолчанию.
- payment() : Payment
- person() : Person
- pharmacy() : Pharmacy
- phoneNumber() : PhoneNumber
- physics() : Physics
- randomAscii() : string
- Случайный печатный ASCII-символ (33–126).
- randomDigit() : int
- Случайная цифра 0–9.
- randomDigitNotZero() : int
- Случайная цифра 1–9 (без нуля).
- randomElement() : TValue
- Случайный элемент массива.
- randomElements() : array<int, TValue>
- Несколько случайных элементов массива.
- randomFloat() : float
- Число с плавающей точкой в [$min, $max), при желании округлённое.
- randomizer() : Randomizer
- Ядро случайности для тонкой настройки/провайдеров.
- randomKey() : int|string
- Случайный ключ массива.
- randomLetter() : string
- Случайная строчная латинская буква.
- randomNumber() : int
- Случайное целое с заданным числом десятичных разрядов (1–9).
- regexify() : string
- Строка по упрощённому регулярному выражению (`[A-Z]{3}`, `\d{4}-\w+` и т.п.).
- robotics() : Robotics
- science() : Science
- seed() : self
- Зафиксировать зерно последовательности для воспроизводимости.
- shuffle() : array<int, TValue>
- Перемешать массив, вернув 0-индексированный список значений.
- shuffleString() : string
- Перемешать символы строки (корректно для многобайтовых символов).
- software() : Software
- space() : Space
- sport() : Sport
- statistics() : Statistics
- telecommunications() : Telecommunications
- text() : Text
- trigonometry() : Trigonometry
- unique() : UniqueGenerator
- Обёртка, отдающая только уникальные значения на протяжении своей жизни.
- userAgent() : UserAgent
- valid() : TValue
- Значение генератора, удовлетворяющее предикату (с ограничением попыток).
- vehicle() : Vehicle
- weather() : Weather
- webTechnology() : WebTechnology
Methods
__call()
Разрешить вызов зарегистрированного провайдера как метода генератора.
public
__call(string $name, array<string|int, mixed> $arguments) : ProviderInterface
Parameters
- $name : string
-
имя провайдера
- $arguments : array<string|int, mixed>
-
аргументы вызова (аксессоры их не принимают)
Tags
Return values
ProviderInterface —экземпляр провайдера (кэшируется по классу)
__construct()
public
__construct(RandomEngineInterface $engine, Locale $locale, Inflector $inflector) : mixed
Parameters
- $engine : RandomEngineInterface
-
источник псевдослучайных битов
- $locale : Locale
-
язык генерируемых данных
- $inflector : Inflector
-
инфлектор языка локали
acoustics()
public
acoustics() : Acoustics
провайдер акустических данных
Return values
Acousticsaddress()
public
address() : Address
провайдер адресов
Return values
Addressaerospace()
public
aerospace() : Aerospace
провайдер данных авиастроения
Return values
Aerospaceagriculture()
public
agriculture() : Agriculture
провайдер сельскохозяйственных данных
Return values
Agriculturealgebra()
public
algebra() : Algebra
провайдер алгебраических данных
Return values
Algebraanimal()
public
animal() : Animal
провайдер данных о животных
Return values
Animalarchitecture()
public
architecture() : Architecture
провайдер архитектурных данных
Return values
Architectureasciify()
Заменить `*` на случайный печатный ASCII-символ в шаблоне.
public
asciify(string $pattern) : string
Parameters
- $pattern : string
-
шаблон
Return values
stringastronomy()
public
astronomy() : Astronomy
провайдер астрономических данных
Return values
Astronomyautomotive()
public
automotive() : Automotive
провайдер автомобильных данных
Return values
Automotiveaviation()
public
aviation() : Aviation
провайдер авиационных данных
Return values
Aviationbarcode()
public
barcode() : Barcode
провайдер штрихкодов
Return values
Barcodebiology()
public
biology() : Biology
провайдер биологических данных
Return values
Biologyblockchain()
public
blockchain() : Blockchain
провайдер данных блокчейна
Return values
Blockchainbook()
public
book() : Book
провайдер книжных данных
Return values
Bookboolean()
Булево значение с заданной вероятностью истины в процентах.
public
boolean([int $chanceOfTrue = 50 ]) : bool
Parameters
- $chanceOfTrue : int = 50
-
вероятность
true(0–100)
Return values
boolbothify()
Применить к шаблону numerify и lexify.
public
bothify(string $pattern) : string
Parameters
- $pattern : string
-
шаблон
Return values
stringcalendar()
public
calendar() : Calendar
провайдер даты и времени
Return values
Calendarchemistry()
public
chemistry() : Chemistry
провайдер химических данных
Return values
ChemistrycloudComputing()
public
cloudComputing() : CloudComputing
провайдер данных облачных вычислений
Return values
CloudComputingcolor()
public
color() : Color
провайдер цветов
Return values
Colorcommerce()
public
commerce() : Commerce
провайдер торговых данных
Return values
Commercecompany()
public
company() : Company
провайдер данных о компаниях
Return values
Companyconstruction()
public
construction() : Construction
провайдер строительных данных
Return values
Constructioncybersecurity()
public
cybersecurity() : Cybersecurity
провайдер данных кибербезопасности
Return values
Cybersecuritydatabase()
public
database() : Database
провайдер данных баз данных
Return values
DatabasedataScience()
public
dataScience() : DataScience
провайдер данных науки о данных
Return values
DataSciencedeveloper()
public
developer() : Developer
провайдер данных для разработчиков
Return values
DeveloperdevOps()
public
devOps() : DevOps
провайдер данных DevOps
Return values
DevOpseducation()
public
education() : Education
провайдер данных об образовании
Return values
Educationelectronics()
public
electronics() : Electronics
провайдер данных электроники
Return values
Electronicsenergy()
public
energy() : Energy
провайдер данных энергетики
Return values
Energyextend()
Зарегистрировать пользовательский провайдер данных под именем.
public
extend(string $name, ProviderInterface> $class) : $this
После регистрации провайдер доступен как обычный метод-аксессор:
$faker->extend('crypto', MyCrypto::class); $faker->crypto()->coin();.
Класс обязан реализовывать ProviderInterface — проще всего
наследованием AbstractProvider, дающего доступ к контексту.
Повторная регистрация имени переопределяет провайдер и сбрасывает кэш.
Parameters
- $name : string
-
имя метода-аксессора
- $class : ProviderInterface>
-
класс провайдера
Return values
$this —этот генератор (для цепочек вызовов)
file()
public
file() : File
провайдер файловых атрибутов
Return values
Filefinance()
public
finance() : Finance
провайдер финансовых данных
Return values
Financefood()
public
food() : Food
провайдер кулинарных данных
Return values
Foodgeology()
public
geology() : Geology
провайдер геологических данных
Return values
Geologygeometry()
public
geometry() : Geometry
провайдер геометрических данных
Return values
Geometryhttp()
public
http() : Http
провайдер HTTP-данных
Return values
Httpidentifier()
public
identifier() : Identifier
провайдер идентификаторов (UUID)
Return values
Identifierimage()
public
image() : Image
провайдер изображений-заглушек
Return values
Imageinflector()
Инфлектор языка локали (склонение, плюрализация, числа прописью).
public
inflector() : Inflector
Return values
Inflectorinstrumentation()
public
instrumentation() : Instrumentation
провайдер данных приборостроения
Return values
Instrumentationinternet()
public
internet() : Internet
провайдер интернет-данных
Return values
Internetlexify()
Заменить `?` на случайную строчную латинскую букву в шаблоне.
public
lexify(string $pattern) : string
Parameters
- $pattern : string
-
шаблон
Return values
stringlocale()
Локаль генератора.
public
locale() : Locale
Return values
Localelogistics()
public
logistics() : Logistics
провайдер логистических данных
Return values
Logisticsmanufacturing()
public
manufacturing() : Manufacturing
провайдер данных производства
Return values
Manufacturingmaterials()
public
materials() : Materials
провайдер данных материаловедения
Return values
Materialsmath()
public
math() : Math
провайдер математических данных
Return values
MathmechanicalEngineering()
public
mechanicalEngineering() : MechanicalEngineering
провайдер данных машиностроения
Return values
MechanicalEngineeringmedical()
public
medical() : Medical
провайдер медицинских данных
Return values
Medicalmeteorology()
public
meteorology() : Meteorology
провайдер метеорологических данных
Return values
Meteorologymiscellaneous()
public
miscellaneous() : Miscellaneous
провайдер разнородных данных
Return values
Miscellaneousmusic()
public
music() : Music
провайдер музыкальных данных
Return values
Musicnanotechnology()
public
nanotechnology() : Nanotechnology
провайдер данных нанотехнологий
Return values
Nanotechnologynautical()
public
nautical() : Nautical
провайдер морских данных
Return values
Nauticalnetwork()
public
network() : Network
провайдер сетевых данных
Return values
NetworknumberBetween()
Целое число в диапазоне [$min, $max] включительно.
public
numberBetween([int $min = 0 ][, int $max = 2147483647 ]) : int
Parameters
- $min : int = 0
-
нижняя граница
- $max : int = 2147483647
-
верхняя граница
Return values
intnumerify()
Заменить `#` на цифру (0–9), `%` — на цифру 1–9 в шаблоне.
public
numerify(string $pattern) : string
Parameters
- $pattern : string
-
шаблон
Return values
stringoperatingSystem()
public
operatingSystem() : OperatingSystem
провайдер данных операционных систем
Return values
OperatingSystemoptional()
Значение генератора с заданной вероятностью, иначе значение по умолчанию.
public
optional(callable(): TValue $generator[, float $weight = 0.5 ][, TDefault $default = null ]) : TValue|TDefault
Parameters
- $generator : callable(): TValue
-
источник значения
- $weight : float = 0.5
-
вероятность вернуть значение (0.0–1.0)
- $default : TDefault = null
-
значение при «пропуске»
Tags
Return values
TValue|TDefault —значение генератора либо $default
payment()
public
payment() : Payment
провайдер платёжных данных
Return values
Paymentperson()
public
person() : Person
провайдер персональных данных
Return values
Personpharmacy()
public
pharmacy() : Pharmacy
провайдер фармацевтических данных
Return values
PharmacyphoneNumber()
public
phoneNumber() : PhoneNumber
провайдер телефонных номеров
Return values
PhoneNumberphysics()
public
physics() : Physics
провайдер физических данных
Return values
PhysicsrandomAscii()
Случайный печатный ASCII-символ (33–126).
public
randomAscii() : string
Return values
stringrandomDigit()
Случайная цифра 0–9.
public
randomDigit() : int
Return values
intrandomDigitNotZero()
Случайная цифра 1–9 (без нуля).
public
randomDigitNotZero() : int
Return values
intrandomElement()
Случайный элемент массива.
public
randomElement(array<string|int, TValue> $array) : TValue
Parameters
- $array : array<string|int, TValue>
-
исходный массив
Tags
Return values
TValuerandomElements()
Несколько случайных элементов массива.
public
randomElements(array<string|int, TValue> $array[, int $count = 1 ][, bool $allowDuplicates = false ]) : array<int, TValue>
Parameters
- $array : array<string|int, TValue>
-
исходный массив
- $count : int = 1
-
сколько вернуть
- $allowDuplicates : bool = false
-
разрешить повторы
Tags
Return values
array<int, TValue>randomFloat()
Число с плавающей точкой в [$min, $max), при желании округлённое.
public
randomFloat([int|null $decimals = null ][, float $min = 0.0 ][, float $max = 1.0 ]) : float
Parameters
- $decimals : int|null = null
-
число знаков после запятой (null — без округления)
- $min : float = 0.0
-
нижняя граница включительно
- $max : float = 1.0
-
верхняя граница исключительно
Return values
floatrandomizer()
Ядро случайности для тонкой настройки/провайдеров.
public
randomizer() : Randomizer
Return values
RandomizerrandomKey()
Случайный ключ массива.
public
randomKey(array<string|int, mixed> $array) : int|string
Parameters
- $array : array<string|int, mixed>
Return values
int|stringrandomLetter()
Случайная строчная латинская буква.
public
randomLetter() : string
Return values
stringrandomNumber()
Случайное целое с заданным числом десятичных разрядов (1–9).
public
randomNumber([int $digits = 5 ]) : int
Parameters
- $digits : int = 5
-
число разрядов
Return values
intregexify()
Строка по упрощённому регулярному выражению (`[A-Z]{3}`, `\d{4}-\w+` и т.п.).
public
regexify(string $pattern) : string
Parameters
- $pattern : string
-
шаблон-регулярное выражение
Return values
stringrobotics()
public
robotics() : Robotics
провайдер данных робототехники
Return values
Roboticsscience()
public
science() : Science
провайдер научных данных
Return values
Scienceseed()
Зафиксировать зерно последовательности для воспроизводимости.
public
seed(int $seed) : self
Parameters
- $seed : int
-
зерно
Tags
Return values
selfshuffle()
Перемешать массив, вернув 0-индексированный список значений.
public
shuffle(array<string|int, TValue> $array) : array<int, TValue>
Parameters
- $array : array<string|int, TValue>
-
исходный массив
Tags
Return values
array<int, TValue>shuffleString()
Перемешать символы строки (корректно для многобайтовых символов).
public
shuffleString(string $value) : string
Parameters
- $value : string
-
исходная строка
Return values
stringsoftware()
public
software() : Software
провайдер данных разработки ПО
Return values
Softwarespace()
public
space() : Space
провайдер данных космонавтики
Return values
Spacesport()
public
sport() : Sport
провайдер спортивных данных
Return values
Sportstatistics()
public
statistics() : Statistics
провайдер статистических данных
Return values
Statisticstelecommunications()
public
telecommunications() : Telecommunications
провайдер телеком-данных
Return values
Telecommunicationstext()
public
text() : Text
провайдер текста
Return values
Texttrigonometry()
public
trigonometry() : Trigonometry
провайдер тригонометрических данных
Return values
Trigonometryunique()
Обёртка, отдающая только уникальные значения на протяжении своей жизни.
public
unique([bool $reset = false ]) : UniqueGenerator
Parameters
- $reset : bool = false
-
начать новый набор уникальных значений
Return values
UniqueGeneratoruserAgent()
public
userAgent() : UserAgent
провайдер строк User-Agent
Return values
UserAgentvalid()
Значение генератора, удовлетворяющее предикату (с ограничением попыток).
public
valid(callable(): TValue $generator, callable(TValue): bool $validator[, int $maxRetries = UniqueGenerator::DEFAULT_MAX_RETRIES ]) : TValue
Parameters
- $generator : callable(): TValue
-
источник значений
- $validator : callable(TValue): bool
-
предикат приёмки
- $maxRetries : int = UniqueGenerator::DEFAULT_MAX_RETRIES
-
предельное число попыток
Tags
Return values
TValue —первое значение, прошедшее $validator
vehicle()
public
vehicle() : Vehicle
провайдер данных о транспорте
Return values
Vehicleweather()
public
weather() : Weather
провайдер погодных данных
Return values
WeatherwebTechnology()
public
webTechnology() : WebTechnology
провайдер данных веб-технологий