Biblioteca para gerar dados falsos, baseado na biblioteca FakerPHP/Faker.
Para instalar esta dependência através do Composer.
composer require bonuscred/fake-data
$fake = new FakeData\Generator;
echo $fake->name();
echo $fake->cpf();
echo $fake->cnpj();
FakeData utiliza provedores de dados que são organizados por localidades, onde cada provedor tem suas particularidades na geração de dados. Possui atualmentes as localidades: BR, EN, ES, FR e IT. A localidade padrão é a BR.
$fake = new FakeData\Generator;
echo $fake->name();
echo $fake->streetAddress();
// Convertendo localidade para França
\FakeData\Factory\Locale::set('FR');
echo $fake->nir(); //gerador de nir é apenas disponibilizado com a localidade FR
É possível obter sempre os mesmos dados gerados - por exemplo, ao usar o FakeData para fins de teste de unidade. O gerador oferece um método seed(), que propaga o gerador de números aleatórios. Chamar o mesmo script duas vezes com o mesmo seed produz os mesmos resultados.
$fake = new FakeData\Generator;
$fake->seed(12345);
echo $fake->name(); // Bruno Miguel Vale
echo $fake->cpf(); // 183.918.812-02
echo $fake->streetAddress(); // Avenida Karina, 104. Apto 3
É possível criar os próprios geradores de dados a partir de um objeto com métodos públicos. Deve-se usar a função mt_rand() para gerar números aleatórios, permitindo o uso de seed nos novos geradores.
class CustomProvider{
public function somaEMultiplicaRandom(int $a, int $b)
{
return ($a + $b) * mt_rand(1,100);
}
}
\FakeData\Factory\Formatter::include('CustomProvider');
$fake = new FakeData\Generator;
$fake->seed(12345);
echo $fake->somaEMultiplicaRandom(1,2); //24
Método | Retorno | Localidades |
---|---|---|
citySuffix() | string | Todas |
streetSuffix() | string | Todas |
buildingNumber() | string | Todas |
city() | string | Todas |
streetName() | string | Todas |
streetAddress() | string | Todas |
postcode() | string | Todas |
address() | string | Todas |
country() | string | Todas |
latitude($min = -90, $max = 90) | float | Todas |
longitude($min = -180, $max = 180) | float | Todas |
localCoordinates() | float[] | Todas |
randomDigitNotNull() | int | Todas |
passthrough($value) | mixed | Todas |
randomLetter() | string | Todas |
randomAscii() | string | Todas |
randomElements($array = ['a', 'b', 'c'], $count = 1, $allowDuplicates = false) | array | Todas |
randomElement($array = ['a', 'b', 'c']) | mixed | Todas |
randomKey($array = []) | int ou string ou null | Todas |
shuffle($arg = '') | array ou string | Todas |
shuffleArray($array = []) | array | Todas |
shuffleString($string = '', $encoding = 'UTF-8') | string | Todas |
numerify($string = '###') | string | Todas |
lexify($string = '????') | string | Todas |
bothify($string = '## ??') | string | Todas |
asciify($string = '****') | string | Todas |
regexify($regex = '') | string | Todas |
toLower($string = '') | string | Todas |
toUpper($string = '') | string | Todas |
biasedNumberBetween($min = 0, $max = 100, $function = 'sqrt') | int | Todas |
hexColor() | string | Todas |
safeHexColor() | string | Todas |
rgbColorAsArray() | array | Todas |
rgbColor() | string | Todas |
rgbCssColor() | string | Todas |
rgbaCssColor() | string | Todas |
safeColorName() | string | Todas |
colorName() | string | Todas |
hslColor() | string | Todas |
hslColorAsArray() | array | Todas |
company() | string | Todas |
companySuffix() | string | Todas |
jobTitle() | string | Todas |
unixTime($max = 'now') | int | Todas |
dateTime($max = 'now', $timezone = null) | \DateTime | Todas |
dateTimeAD($max = 'now', $timezone = null) | \DateTime | Todas |
iso8601($max = 'now') | string | Todas |
date($format = 'Y-m-d', $max = 'now') | string | Todas |
time($format = 'H:i:s', $max = 'now') | string | Todas |
dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) | \DateTime | Todas |
dateTimeInInterval($date = '-30 years', $interval = '+5 days', $timezone = null) | \DateTime | Todas |
dateTimeThisCentury($max = 'now', $timezone = null) | \DateTime | Todas |
dateTimeThisDecade($max = 'now', $timezone = null) | \DateTime | Todas |
dateTimeThisYear($max = 'now', $timezone = null) | \DateTime | Todas |
dateTimeThisMonth($max = 'now', $timezone = null) | \DateTime | Todas |
amPm($max = 'now') | string | Todas |
dayOfMonth($max = 'now') | string | Todas |
dayOfWeek($max = 'now') | string | Todas |
month($max = 'now') | string | Todas |
monthName($max = 'now') | string | Todas |
year($max = 'now') | string | Todas |
century() | string | Todas |
timezone($countryCode = null) | string | Todas |
setDefaultTimezone($timezone = null) | void | Todas |
getDefaultTimezone() | string | Todas |
file($sourceDirectory = '/tmp', $targetDirectory = '/tmp', $fullPath = true) | string | Todas |
randomHtml($maxDepth = 4, $maxWidth = 4) | string | Todas |
imageUrl($width = 640, $height = 480, $category = null, $randomize = true, $word = null, $gray = false, string $format = 'png') | string | Todas |
image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null, $gray = false, string $format = 'png') | string | Todas |
email() | string | Todas |
safeEmail() | string | Todas |
freeEmail() | string | Todas |
companyEmail() | string | Todas |
freeEmailDomain() | string | Todas |
safeEmailDomain() | string | Todas |
userName() | string | Todas |
password($minLength = 6, $maxLength = 20) | string | Todas |
domainName() | string | Todas |
domainWord() | string | Todas |
tld() | string | Todas |
url() | string | Todas |
slug($nbWords = 6, $variableNbWords = true) | string | Todas |
ipv4() | string | Todas |
ipv6() | string | Todas |
localIpv4() | string | Todas |
macAddress() | string | Todas |
word() | string | Todas |
words($nb = 3, $asText = false) | array ou string | Todas |
sentence($nbWords = 6, $variableNbWords = true) | string | Todas |
sentences($nb = 3, $asText = false) | array ou string | Todas |
paragraph($nbSentences = 3, $variableNbSentences = true) | string | Todas |
paragraphs($nb = 3, $asText = false) | array ou string | Todas |
text($maxNbChars = 200) | string | Todas |
boolean($chanceOfGettingTrue = 50) | bool | Todas |
md5() | string | Todas |
sha1() | string | Todas |
sha256() | string | Todas |
locale() | string | Todas |
countryCode() | string | Todas |
countryISOAlpha3() | string | Todas |
languageCode() | string | Todas |
currencyCode() | string | Todas |
emoji() | string | Todas |
creditCardType() | string | Todas |
creditCardNumber($type = null, $formatted = false, $separator = '-') | string | Todas |
creditCardExpirationDate($valid = true) | \DateTime | Todas |
creditCardExpirationDateString($valid = true, $expirationDateFormat = null) | string | Todas |
creditCardDetails($valid = true) | array | Todas |
iban($countryCode = null, $prefix = '', $length = null) | string | Todas |
swiftBicNumber() | string | Todas |
name($gender = null) | string | Todas |
firstName($gender = null) | string | Todas |
firstNameMale() | string | Todas |
firstNameFemale() | string | Todas |
lastName($gender = null) | string | Todas |
title($gender = null) | string | Todas |
titleMale() | string | Todas |
titleFemale() | string | Todas |
phoneNumber() | string | Todas |
e164PhoneNumber() | string | Todas |
imei() | int | Todas |
realText($maxNbChars = 200, $indexSize = 2) | string | Todas |
realTextBetween($minNbChars = 160, $maxNbChars = 200, $indexSize = 2) | string | Todas |
macProcessor() | string | Todas |
linuxProcessor() | string | Todas |
userAgent() | string | Todas |
chrome() | string | Todas |
msedge() | string | Todas |
firefox() | string | Todas |
safari() | string | Todas |
opera() | string | Todas |
internetExplorer() | string | Todas |
windowsPlatformToken() | string | Todas |
macPlatformToken() | string | Todas |
iosMobileToken() | string | Todas |
linuxPlatformToken() | string | Todas |
uuid() | string | Todas |
fileExtension() | string | Todas |
filePath() | string | Todas |
bloodType() | string | Todas |
bloodRh() | string | Todas |
bloodRh() | string | Todas |
bloodGroup() | string | Todas |
ean13() | string | Todas |
ean8() | string | Todas |
isbn10() | string | Todas |
isbn13() | string | Todas |
numberBetween($int1 = 0, $int2 = 2147483647) | int | Todas |
randomDigit() | int | Todas |
randomDigitNot($except) | int | Todas |
randomDigitNotZero() | int | Todas |
randomFloat($nbMaxDecimals = null, $min = 0, $max = null) | float | Todas |
randomNumber($nbDigits = null, $strict = false) | int | Todas |
semver($preRelease = false, $build = false) | int | Todas |
bankAccountNumber() | string | Todas |
secondaryAddress() | string | Todas |
state() | string | BR, EN, ES, IT |
stateAbbr() | string | BR, EN, IT |
region() | string | BR, FR |
regionAbbr() | string | BR |
cnpj($formatted = true) | string | BR |
bank() | string | BR |
suffix() | string | BR, EN, ES, IT |
cpf($formatted = true) | string | BR |
rg($formatted = true) | string | BR |
sufix() | string | BR, EN, ES |
areaCode() | string | BR, EN |
cellphone($formatted = true) | string | BR |
landline($formatted = true) | string | BR |
phone($formatted = true) | string | BR |
cellphoneNumber($formatted = true) | string | BR |
landlineNumber($formatted = true) | string | BR |
phoneNumberCleared() | string | BR |
catchPhrase() | string | EN, ES, FR, IT |
bs() | string | EN,ES,IT |
ein() | string | EN |
bankRoutingNumber() | string | EN |
ssn() | string | EN |
tollFreeAreaCode() | string | EN |
tollFreePhoneNumber() | string | EN |
phoneNumberWithExtension() | string | EN |
exchangeCode() | string | EN |
community() | string | ES |
companyPrefix() | string | ES |
vat() | string | ES, FR, IT |
dni() | string | ES |
licenceCode() | string | ES |
mobileNumber() | string | ES, FR |
tollFreeNumber() | string | ES |
department() | string | FR |
departmentName() | string | FR |
departmentNumber() | string | FR |
catchPhraseNoun() | string | FR |
catchPhraseAttribute() | string | FR |
catchPhraseVerb() | string | FR |
siret() | string | FR |
siren() | string | FR |
nir() | string | FR |
phoneNumber07() | string | FR |
phoneNumber07WithSeparator() | string | FR |
phoneNumber08() | string | FR |
phoneNumber08WithSeparator() | string | FR |
serviceNumber() | string | FR |
taxId() | string | IT |
- PHP 8.0 ou superior