HumHub Documentation (unofficial)

Payment extends Payment
in package

Table of Contents

Properties

$expirationDateFormat  : mixed
$cardParams  : array<string|int, mixed>
$cardVendors  : mixed
$commercialBanks  : array<string|int, string>
List of commercial banks sorted in alphabetical order.
$developmentBanks  : array<string|int, string>
List of development banks sorted in alphabetical order.
$digitalWallets  : array<string|int, string>
List of digital wallets sorted in alphabetical order.
$financeCompanies  : array<string|int, string>
List of finance companies sorted in alphabetical order.
$generator  : Generator
$ibanFormats  : array<string|int, mixed>
$microFinances  : array<string|int, string>
List of microfinance companies sorted in alphabetical order.
$swiftCodes  : array<string|int, string>
List of Swift Codes in alphabetical order.
$unique  : UniqueGenerator

Methods

__construct()  : mixed
asciify()  : string
Replaces * signs with random numbers and letters and special characters
bankAccountNumber()  : string
bothify()  : string
Replaces hash signs ('#') and question marks ('?') with random numbers and letters An asterisk ('*') is replaced with either a random number or a random letter
commercialBank()  : string
creditCardDetails()  : array<string|int, mixed>
creditCardExpirationDate()  : DateTime
creditCardExpirationDateString()  : string
creditCardNumber()  : string
Returns the String of a credit card number.
creditCardType()  : string
developmentBank()  : string
digitalWallet()  : string
financeCompany()  : string
iban()  : string
International Bank Account Number (IBAN)
lexify()  : string
Replaces all question mark ('?') occurrences with a random letter
microFinance()  : string
numberBetween()  : int
Returns a random number between $int1 and $int2 (any order)
numerify()  : string
Replaces all hash sign ('#') occurrences with a random number Replaces all percentage sign ('%') occurrences with a not null number
optional()  : mixed|null
Chainable method for making any formatter optional.
passthrough()  : mixed
Returns the passed value
randomAscii()  : string
Returns a random ASCII character (excluding accents and special chars)
randomDigit()  : int
Returns a random number between 0 and 9
randomDigitNot()  : int
Generates a random digit, which cannot be $except
randomDigitNotNull()  : int
Returns a random number between 1 and 9
randomElement()  : mixed
Returns a random element from a passed array
randomElements()  : array<string|int, mixed>
Returns randomly ordered subsequence of $count elements from a provided array
randomFloat()  : float
Return a random float number
randomKey()  : int|string|null
Returns a random key from a passed associative array
randomLetter()  : string
Returns a random letter from a to z
randomNumber()  : int
Returns a random integer with 0 to $nbDigits digits.
regexify()  : string
Transforms a basic regular expression into a random string satisfying the expression.
shuffle()  : array<string|int, mixed>|string
Returns a shuffled version of the argument.
shuffleArray()  : array<string|int, mixed>
Returns a shuffled version of the array.
shuffleString()  : string
Returns a shuffled version of the string.
swiftBicNumber()  : string
Return the String of a SWIFT/BIC number
swiftCode()  : string
toLower()  : string
Converts string to lowercase.
toUpper()  : string
Converts string to uppercase.
unique()  : UniqueGenerator
Chainable method for making any formatter unique.
valid()  : ValidGenerator
Chainable method for forcing any formatter to return only valid values.
replaceWildcard()  : mixed

Properties

$expirationDateFormat

public static mixed $expirationDateFormat = 'm/y'

$cardParams

protected static array<string|int, mixed> $cardParams = ['Visa' => ['4539###########', '4556###########', '4916###########', '4532###########', '4929###########', '40240071#######', '4485###########', '4716###########', '4##############'], 'Visa Retired' => ['4539########', '4556########', '4916########', '4532########', '4929########', '40240071####', '4485########', '4716########', '4###########'], 'MasterCard' => ['2221###########', '23#############', '24#############', '25#############', '26#############', '2720###########', '51#############', '52#############', '53#############', '54#############', '55#############'], 'American Express' => ['34############', '37############'], 'Discover Card' => ['6011###########'], 'JCB' => ['3528###########', '3589###########']]

List of card brand masks for generating valid credit card numbers

Tags
see
https://en.wikipedia.org/wiki/Payment_card_number

Reference for existing prefixes

see
https://www.mastercard.us/en-us/issuers/get-support/2-series-bin-expansion.html

MasterCard 2017 2-Series BIN Expansion

$cardVendors

protected static mixed $cardVendors = ['Visa', 'Visa', 'Visa', 'Visa', 'Visa', 'MasterCard', 'MasterCard', 'MasterCard', 'MasterCard', 'MasterCard', 'American Express', 'Discover Card', 'Visa Retired', 'JCB']

$commercialBanks

List of commercial banks sorted in alphabetical order.

protected static array<string|int, string> $commercialBanks = ['Agricultural Development Bank', 'Bank Of Kathmandu', 'Century Commercial Bank', 'Citizens Bank International', 'Civil Bank', 'Everest Bank', 'Global IME Bank', 'Himalayan Bank', 'Kumari Bank', 'Laxmi Bank', 'Machhapuchchhre Bank', 'Mega Bank Nepal', 'Nabil Bank', 'Nepal Bangladesh Bank', 'Nepal Bank', 'Nepal Credit & Commerce Bank', 'Nepal Investment Bank', 'Nepal SBI Bank', 'NIC ASIA Bank', 'NMB Bank', 'Prabhu Bank', 'Prime Commercial Bank', 'Rastriya Banijya Bank', 'Sanima Bank', 'Siddhartha Bank', 'Standard Chartered Bank Nepal', 'Sunrise Bank']
Tags
see
https://en.wikipedia.org/wiki/List_of_banks_in_Nepal

$developmentBanks

List of development banks sorted in alphabetical order.

protected static array<string|int, string> $developmentBanks = ['Corporate Development Bank', 'Excel Development Bank', 'Garima Bikas Bank', 'Green Development Bank', 'Jyoti Bikas Bank', 'Kamana Sewa Bikash Bank', 'Karnali Development Bank', 'Lumbini Bikas Bank', 'Mahalaxmi Bikas Bank', 'Miteri Development Bank', 'Muktinath Bikas Bank', 'Narayani Development Bank', 'Nepal Infrastructure Bank', 'Sahara Bikas Bank', 'Salapa Bikas Bank', 'Saptakoshi Development Bank', 'Shangrila Development Bank', 'Shine Resunga Development Bank', 'Sindhu Bikas Bank']
Tags
see
https://en.wikipedia.org/wiki/List_of_banks_in_Nepal

$digitalWallets

List of digital wallets sorted in alphabetical order.

protected static array<string|int, string> $digitalWallets = ['CellPay', 'CG Pay', 'Chito Paisa', 'DigiPay', 'dPaisa', 'EnetPay', 'eSewa', 'Fonepay', 'GME Pay', 'iCash', 'IME Pay', 'Ipay', 'Khalti', 'Kurakani Pay', 'Lenden', 'Mobalet', 'MOCO', 'Mohar', 'Moru', 'N-Cash', 'Namaste Pay', 'PayTime', 'PayWell', 'PrabhuPAY', 'QPay', 'SajiloPay', 'WePay']
Tags
see
https://www.nrb.org.np/bank-list/

$financeCompanies

List of finance companies sorted in alphabetical order.

protected static array<string|int, string> $financeCompanies = ['Best Finance Company', 'Capital Merchant Banking & Finance', 'Central Finance', 'Goodwill Finance Company', 'Guheshwori Merchant Banking & Finance', 'Gurkhas Finance', 'ICFC Finance', 'Janaki Finance Company', 'Manjushree Finance', 'Multipurpose Finance Company', 'Nepal Finance', 'Nepal Share Markets', 'Pokhara Finance', 'Progressive Finance', 'Reliance Finance', 'Samriddhi Finance Company', 'Shree Investment Finance Company']
Tags
see
https://en.wikipedia.org/wiki/List_of_banks_in_Nepal

$ibanFormats

protected static array<string|int, mixed> $ibanFormats = ['AD' => [['n', 4], ['n', 4], ['c', 12]], 'AE' => [['n', 3], ['n', 16]], 'AL' => [['n', 8], ['c', 16]], 'AT' => [['n', 5], ['n', 11]], 'AZ' => [['a', 4], ['c', 20]], 'BA' => [['n', 3], ['n', 3], ['n', 8], ['n', 2]], 'BE' => [['n', 3], ['n', 7], ['n', 2]], 'BG' => [['a', 4], ['n', 4], ['n', 2], ['c', 8]], 'BH' => [['a', 4], ['c', 14]], 'BR' => [['n', 8], ['n', 5], ['n', 10], ['a', 1], ['c', 1]], 'CH' => [['n', 5], ['c', 12]], 'CR' => [['n', 4], ['n', 14]], 'CY' => [['n', 3], ['n', 5], ['c', 16]], 'CZ' => [['n', 4], ['n', 6], ['n', 10]], 'DE' => [['n', 8], ['n', 10]], 'DK' => [['n', 4], ['n', 9], ['n', 1]], 'DO' => [['c', 4], ['n', 20]], 'EE' => [['n', 2], ['n', 2], ['n', 11], ['n', 1]], 'EG' => [['n', 4], ['n', 4], ['n', 17]], 'ES' => [['n', 4], ['n', 4], ['n', 1], ['n', 1], ['n', 10]], 'FI' => [['n', 6], ['n', 7], ['n', 1]], 'FR' => [['n', 5], ['n', 5], ['c', 11], ['n', 2]], 'GB' => [['a', 4], ['n', 6], ['n', 8]], 'GE' => [['a', 2], ['n', 16]], 'GI' => [['a', 4], ['c', 15]], 'GR' => [['n', 3], ['n', 4], ['c', 16]], 'GT' => [['c', 4], ['c', 20]], 'HR' => [['n', 7], ['n', 10]], 'HU' => [['n', 3], ['n', 4], ['n', 1], ['n', 15], ['n', 1]], 'IE' => [['a', 4], ['n', 6], ['n', 8]], 'IL' => [['n', 3], ['n', 3], ['n', 13]], 'IS' => [['n', 4], ['n', 2], ['n', 6], ['n', 10]], 'IT' => [['a', 1], ['n', 5], ['n', 5], ['c', 12]], 'KW' => [['a', 4], ['n', 22]], 'KZ' => [['n', 3], ['c', 13]], 'LB' => [['n', 4], ['c', 20]], 'LI' => [['n', 5], ['c', 12]], 'LT' => [['n', 5], ['n', 11]], 'LU' => [['n', 3], ['c', 13]], 'LV' => [['a', 4], ['c', 13]], 'MC' => [['n', 5], ['n', 5], ['c', 11], ['n', 2]], 'MD' => [['c', 2], ['c', 18]], 'ME' => [['n', 3], ['n', 13], ['n', 2]], 'MK' => [['n', 3], ['c', 10], ['n', 2]], 'MR' => [['n', 5], ['n', 5], ['n', 11], ['n', 2]], 'MT' => [['a', 4], ['n', 5], ['c', 18]], 'MU' => [['a', 4], ['n', 2], ['n', 2], ['n', 12], ['n', 3], ['a', 3]], 'NL' => [['a', 4], ['n', 10]], 'NO' => [['n', 4], ['n', 6], ['n', 1]], 'PK' => [['a', 4], ['c', 16]], 'PL' => [['n', 8], ['n', 16]], 'PS' => [['a', 4], ['c', 21]], 'PT' => [['n', 4], ['n', 4], ['n', 11], ['n', 2]], 'RO' => [['a', 4], ['c', 16]], 'RS' => [['n', 3], ['n', 13], ['n', 2]], 'SA' => [['n', 2], ['c', 18]], 'SE' => [['n', 3], ['n', 16], ['n', 1]], 'SI' => [['n', 5], ['n', 8], ['n', 2]], 'SK' => [['n', 4], ['n', 6], ['n', 10]], 'SM' => [['a', 1], ['n', 5], ['n', 5], ['c', 12]], 'TN' => [['n', 2], ['n', 3], ['n', 13], ['n', 2]], 'TR' => [['n', 5], ['n', 1], ['c', 16]], 'VG' => [['a', 4], ['n', 16]]]

list of IBAN formats, source: @see https://www.swift.com/standards/data-standards/iban

$microFinances

List of microfinance companies sorted in alphabetical order.

protected static array<string|int, string> $microFinances = ['Aatmanirbhar', 'Adarsha', 'Adhikhola', 'Arambha Chautari', 'Asha', 'Aviyan', 'BPW', 'Buddha Jyoti', 'Chhimek', 'Civil', 'CYC Nepal', 'Deprosc', 'Deurali', 'Dhaulagiri', 'First Microfinance', 'Forward Microfinance', 'Ganapati', 'Ghodighoda', 'Global IME', 'Grameen Bikas', 'Gurans', 'Infinity', 'Jalpa Samudayik', 'Janautthan Samudayik', 'Jeevan Bikas', 'Kalika', 'Khaptad', 'Kisan', 'Laxmi', 'Mahila', 'Mahuli', 'Manakamana Smart', 'Manushi', 'Meromicrofinance', 'Mirmire', 'Mithila', 'NADEP', 'National Microfinance', 'Naya Sarathi', 'Nepal Sewa', 'Nerude', 'NESDO Samriddha', 'NIC Asia', 'Nirdhan Utthan', 'NMB', 'Rastra Utthan', 'RMDC', 'RSDC', 'Sabaiko', 'Sadhana', 'Samaj', 'Samata Gharelu', 'Samudayik', 'Sana Kisan Bikas', 'Shrijanshil', 'Summit', 'Super', 'Support', 'Suryodaya', 'Swabalamban', 'Swabhiman', 'Swastik', 'Sworojagar', 'Unique Nepal', 'Unnati Sahakarya', 'Upakar', 'Vijaya', 'WEAN', 'Womi']
Tags
see
https://en.wikipedia.org/wiki/List_of_banks_in_Nepal

$swiftCodes

List of Swift Codes in alphabetical order.

protected static array<string|int, string> $swiftCodes = ['ADBLNPKA', 'BOKLNPKA', 'CCBNNPKA', 'CIVLNPKA', 'CTZNNPKA', 'EVBLNPKA', 'GLBBNPKA', 'HIMANPKA', 'KMBLNPKA', 'LXBLNPKA', 'MBLNNPKA', 'MBNLNPKA', 'NARBNPKA', 'NBOCNPKA', 'NBOCNPKANRD', 'NEBLNPKA', 'NIBLNPKT', 'NICENPKA', 'NMBBNPKA', 'NPBBNPKA', 'NRBLNPKA', 'NRBLNPKAFED', 'NSBINPKA', 'NSBINPKA001', 'PCBLNPKA', 'PRVUNPKA', 'RBBANPKA', 'SCBLNPKA', 'SIDDNPKA', 'SNMANPKA', 'SRBLNPKA']
Tags
see
https://www.theswiftcodes.com/nepal/

Methods

asciify()

Replaces * signs with random numbers and letters and special characters

public static asciify([string $string = '****' ]) : string
Parameters
$string : string = '****'

String that needs to bet parsed

Tags
example

$faker->asciify(''********'); // "s5'G!uC3"

Return values
string

bankAccountNumber()

public bankAccountNumber() : string
Tags
example

'00454689832792' or 'S49646367883667'

Return values
string

bothify()

Replaces hash signs ('#') and question marks ('?') with random numbers and letters An asterisk ('*') is replaced with either a random number or a random letter

public static bothify([string $string = '## ??' ]) : string
Parameters
$string : string = '## ??'

String that needs to be parsed

Return values
string

commercialBank()

public commercialBank() : string
Tags
example

'Agricultural Development Bank'

Return values
string

creditCardDetails()

public creditCardDetails([bool $valid = true ]) : array<string|int, mixed>
Parameters
$valid : bool = true

True (by default) to get a valid expiration date, false to get a maybe valid date

Return values
array<string|int, mixed>

creditCardExpirationDate()

public creditCardExpirationDate([bool $valid = true ]) : DateTime
Parameters
$valid : bool = true

True (by default) to get a valid expiration date, false to get a maybe valid date

Tags
example

04/13

Return values
DateTime

creditCardExpirationDateString()

public creditCardExpirationDateString([bool $valid = true ][, string $expirationDateFormat = null ]) : string
Parameters
$valid : bool = true

True (by default) to get a valid expiration date, false to get a maybe valid date

$expirationDateFormat : string = null
Tags
example

'04/13'

Return values
string

creditCardNumber()

Returns the String of a credit card number.

public static creditCardNumber([string $type = null ][, bool $formatted = false ][, string $separator = '-' ]) : string
Parameters
$type : string = null

Supporting any of 'Visa', 'MasterCard', 'American Express', 'Discover' and 'JCB'

$formatted : bool = false

Set to true if the output string should contain one separator every 4 digits

$separator : string = '-'

Separator string for formatting card number. Defaults to dash (-).

Tags
example

'4485480221084675'

Return values
string

creditCardType()

public static creditCardType() : string
Tags
example

'MasterCard'

Return values
string

Returns a credit card vendor name

developmentBank()

public developmentBank() : string
Tags
example

'Nepal Infrastructure Bank'

Return values
string

digitalWallet()

public digitalWallet() : string
Tags
example

'Khalti'

Return values
string

financeCompany()

public financeCompany() : string
Tags
example

'Gurkhas Finance'

Return values
string

iban()

International Bank Account Number (IBAN)

public static iban([string $countryCode = null ][, string $prefix = '' ][, int $length = null ]) : string
Parameters
$countryCode : string = null

ISO 3166-1 alpha-2 country code

$prefix : string = ''

for generating bank account number of a specific bank

$length : int = null

total length without country code and 2 check digits

Tags
see
http://en.wikipedia.org/wiki/International_Bank_Account_Number
Return values
string

lexify()

Replaces all question mark ('?') occurrences with a random letter

public static lexify([string $string = '????' ]) : string
Parameters
$string : string = '????'

String that needs to bet parsed

Return values
string

microFinance()

public microFinance() : string
Tags
example

'Adarsha Laghubitta Bittiya Sanstha'

Return values
string

numberBetween()

Returns a random number between $int1 and $int2 (any order)

public static numberBetween([int $int1 = 0 ][, int $int2 = 2147483647 ]) : int
Parameters
$int1 : int = 0

default to 0

$int2 : int = 2147483647

defaults to 32 bit max integer, ie 2147483647

Tags
example

79907610

Return values
int

numerify()

Replaces all hash sign ('#') occurrences with a random number Replaces all percentage sign ('%') occurrences with a not null number

public static numerify([string $string = '###' ]) : string
Parameters
$string : string = '###'

String that needs to bet parsed

Return values
string

optional()

Chainable method for making any formatter optional.

public optional([float|int $weight = 0.5 ][, mixed $default = null ]) : mixed|null
Parameters
$weight : float|int = 0.5

Set the probability of receiving a null value. "0" will always return null, "1" will always return the generator. If $weight is an integer value, then the same system works between 0 (always get false) and 100 (always get true).

$default : mixed = null
Return values
mixed|null

passthrough()

Returns the passed value

public static passthrough(mixed $value) : mixed
Parameters
$value : mixed

randomAscii()

Returns a random ASCII character (excluding accents and special chars)

public static randomAscii() : string
Return values
string

randomDigit()

Returns a random number between 0 and 9

public static randomDigit() : int
Return values
int

randomDigitNot()

Generates a random digit, which cannot be $except

public static randomDigitNot(int $except) : int
Parameters
$except : int
Return values
int

randomDigitNotNull()

Returns a random number between 1 and 9

public static randomDigitNotNull() : int
Return values
int

randomElement()

Returns a random element from a passed array

public static randomElement([array<string|int, mixed>|class-string|Traversable $array = ['a', 'b', 'c'] ]) : mixed
Parameters
$array : array<string|int, mixed>|class-string|Traversable = ['a', 'b', 'c']
Tags
throws
InvalidArgumentException

randomElements()

Returns randomly ordered subsequence of $count elements from a provided array

public static randomElements([array<string|int, mixed>|class-string|Traversable $array = ['a', 'b', 'c'] ][, int|null $count = 1 ][, bool $allowDuplicates = false ]) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>|class-string|Traversable = ['a', 'b', 'c']

Array to take elements from. Defaults to a-c

$count : int|null = 1

Number of elements to take. If null then returns random number of elements

$allowDuplicates : bool = false

Allow elements to be picked several times. Defaults to false

Tags
todo

update default $count to null (BC) for next major version

throws
InvalidArgumentException
throws
LengthException

When requesting more elements than provided

Return values
array<string|int, mixed>

New array with $count elements from $array

randomFloat()

Return a random float number

public static randomFloat([int $nbMaxDecimals = null ][, float|int $min = 0 ][, float|int $max = null ]) : float
Parameters
$nbMaxDecimals : int = null
$min : float|int = 0
$max : float|int = null
Tags
example

48.8932

Return values
float

randomKey()

Returns a random key from a passed associative array

public static randomKey([array<string|int, mixed> $array = [] ]) : int|string|null
Parameters
$array : array<string|int, mixed> = []
Return values
int|string|null

randomLetter()

Returns a random letter from a to z

public static randomLetter() : string
Return values
string

randomNumber()

Returns a random integer with 0 to $nbDigits digits.

public static randomNumber([int $nbDigits = null ][, bool $strict = false ]) : int

The maximum value returned is mt_getrandmax()

Parameters
$nbDigits : int = null

Defaults to a random number between 1 and 9

$strict : bool = false

Whether the returned number should have exactly $nbDigits

Tags
example

79907610

Return values
int

regexify()

Transforms a basic regular expression into a random string satisfying the expression.

public static regexify([string $regex = '' ]) : string
Parameters
$regex : string = ''

A regular expression (delimiters are optional)

Tags
example

$faker->regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}'); // sm0@y8k96a.ej

Regex delimiters '/.../' and begin/end markers '^...$' are ignored.

Only supports a small subset of the regex syntax. For instance, unicode, negated classes, unbounded ranges, subpatterns, back references, assertions, recursive patterns, and comments are not supported. Escaping support is extremely fragile.

This method is also VERY slow. Use it only when no other formatter can generate the fake data you want. For instance, prefer calling $faker->email rather than regexify with the previous regular expression.

Also note than bothify can probably do most of what this method does, but much faster. For instance, for a dummy email generation, try $faker->bothify('?????????@???.???').

see
https://github.com/icomefromthenet/ReverseRegex

for a more robust implementation

Return values
string

shuffle()

Returns a shuffled version of the argument.

public static shuffle([array<string|int, mixed>|string $arg = '' ]) : array<string|int, mixed>|string

This function accepts either an array, or a string.

Parameters
$arg : array<string|int, mixed>|string = ''

The set to shuffle

Tags
example

$faker->shuffle([1, 2, 3]); // [2, 1, 3]

example

$faker->shuffle('hello, world'); // 'rlo,h eold!lw'

see
shuffleArray()
see
shuffleString()
Return values
array<string|int, mixed>|string

The shuffled set

shuffleArray()

Returns a shuffled version of the array.

public static shuffleArray([array<string|int, mixed> $array = [] ]) : array<string|int, mixed>

This function does not mutate the original array. It uses the Fisher–Yates algorithm, which is unbiased, together with a Mersenne twister random generator. This function is therefore more random than PHP's shuffle() function, and it is seedable.

Parameters
$array : array<string|int, mixed> = []

The set to shuffle

Tags
see
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
example

$faker->shuffleArray([1, 2, 3]); // [2, 1, 3]

Return values
array<string|int, mixed>

The shuffled set

shuffleString()

Returns a shuffled version of the string.

public static shuffleString([string $string = '' ][, string $encoding = 'UTF-8' ]) : string

This function does not mutate the original string. It uses the Fisher–Yates algorithm, which is unbiased, together with a Mersenne twister random generator. This function is therefore more random than PHP's shuffle() function, and it is seedable. Additionally, it is UTF8 safe if the mb extension is available.

Parameters
$string : string = ''

The set to shuffle

$encoding : string = 'UTF-8'

The string encoding (defaults to UTF-8)

Tags
see
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
example

$faker->shuffleString('hello, world'); // 'rlo,h eold!lw'

Return values
string

The shuffled set

swiftCode()

public swiftCode() : string
Tags
example

'ADBLNPKA'

Return values
string

toLower()

Converts string to lowercase.

public static toLower([string $string = '' ]) : string

Uses mb_string extension if available.

Parameters
$string : string = ''

String that should be converted to lowercase

Return values
string

toUpper()

Converts string to uppercase.

public static toUpper([string $string = '' ]) : string

Uses mb_string extension if available.

Parameters
$string : string = ''

String that should be converted to uppercase

Return values
string

unique()

Chainable method for making any formatter unique.

public unique([bool $reset = false ][, int $maxRetries = 10000 ]) : UniqueGenerator
// will never return twice the same value $faker->unique()->randomElement(array(1, 2, 3));
Parameters
$reset : bool = false

If set to true, resets the list of existing values

$maxRetries : int = 10000

Maximum number of retries to find a unique value, After which an OverflowException is thrown.

Tags
throws
OverflowException

When no unique value can be found by iterating $maxRetries times

Return values
UniqueGenerator

A proxy class returning only non-existing values

valid()

Chainable method for forcing any formatter to return only valid values.

public valid([Closure $validator = null ][, int $maxRetries = 10000 ]) : ValidGenerator

The value validity is determined by a function passed as first argument.

$values = array(); $evenValidator = function ($digit) { return $digit % 2 === 0; }; for ($i=0; $i < 10; $i++) { $values []= $faker->valid($evenValidator)->randomDigit; } print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]
Parameters
$validator : Closure = null

A function returning true for valid values

$maxRetries : int = 10000

Maximum number of retries to find a unique value, After which an OverflowException is thrown.

Tags
throws
OverflowException

When no valid value can be found by iterating $maxRetries times

Return values
ValidGenerator

A proxy class returning only valid values

replaceWildcard()

private static replaceWildcard(mixed $string, mixed $wildcard, mixed $callback) : mixed
Parameters
$string : mixed
$wildcard : mixed
$callback : mixed

        
On this page

Search results