updated-packages

This commit is contained in:
RafficMohammed
2023-01-08 00:13:22 +05:30
parent 3ff7df7487
commit da241bacb6
12659 changed files with 563377 additions and 510538 deletions

View File

@@ -0,0 +1,39 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
### Summary
<!-- provide a summary here -->
### Versions
<!-- Please provide the versions of PHP as well as `fzaninotto/faker` on which the issue has been observed -->
| | Version |
|:--------------------|:--------|
| PHP | x.y.z |
| `fzaninotto/faker` | x.y.z |
### Self-enclosed code snippet for reproduction
```php
<!-- please replace this with a self-enclosed usage example -->
```
### Expected output
```txt
<!-- please replace this with the expected output of your self-enclosed example -->
```
### Actual output
```txt
<!-- please replace this with the actual output of your self-enclosed example -->
```

View File

@@ -1,2 +0,0 @@
vendor
composer.lock

View File

@@ -1,25 +0,0 @@
language: php
dist: precise
php:
- 5.3
- 5.4
- 5.5
- 5.6
- 7.0
- 7.1
- 7.2
- nightly
sudo: false
cache:
directories:
- $HOME/.composer/cache
before_script:
- travis_retry composer self-update
- travis_retry composer install --no-interaction --prefer-dist
script: make sniff test

View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# The problem is that we do not want to remove the configuration file, just disable it for a few tasks, then enable it
#
# For reference, see
#
# - https://docs.travis-ci.com/user/languages/php#Disabling-preinstalled-PHP-extensions
# - https://docs.travis-ci.com/user/languages/php#Custom-PHP-configuration
config="/home/travis/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini"
function xdebug-disable() {
if [[ -f $config ]]; then
mv $config "$config.bak"
fi
}
function xdebug-enable() {
if [[ -f "$config.bak" ]]; then
mv "$config.bak" $config
fi
}

View File

@@ -1,8 +1,120 @@
CHANGELOG
=========
# CHANGELOG
2018-07-12, v1.8.0
------------------
## 2019-12-03, v1.9.1
- Add link to PHPStan extension to readme [\#1834](https://github.com/fzaninotto/Faker/pull/1834) ([finwe](https://github.com/finwe))
- Enhancement: Collect code coverage [\#1824](https://github.com/fzaninotto/Faker/pull/1824) ([localheinz](https://github.com/localheinz))
- Enhancement: Use all columns when running tests [\#1823](https://github.com/fzaninotto/Faker/pull/1823) ([localheinz](https://github.com/localheinz))
- Enhancement: Configure verbose output via phpunit.xml.dist [\#1822](https://github.com/fzaninotto/Faker/pull/1822) ([localheinz](https://github.com/localheinz))
- Curly braces for arrays is deprecated in PHP 7.4 [\#1843](https://github.com/fzaninotto/Faker/pull/1843) ([wimg](https://github.com/wimg))
- Fix: Reduce visibility of setUp\(\) and tearDown\(\) [\#1821](https://github.com/fzaninotto/Faker/pull/1821) ([localheinz](https://github.com/localheinz))
- Fix: Mark test classes as final [\#1820](https://github.com/fzaninotto/Faker/pull/1820) ([localheinz](https://github.com/localheinz))
- Fix: Remove unnecessary class-level DocBlocks [\#1819](https://github.com/fzaninotto/Faker/pull/1819) ([localheinz](https://github.com/localheinz))
## 2019-11-10, v1.9.0
This will the last minor release in the `1.x` cycle.
- Add all Iran's provinces land lines numbers [\#1806](https://github.com/fzaninotto/Faker/pull/1806) ([kingofnull](https://github.com/kingofnull))
- replace latin "B" to cyrillic "B" for uk\_UA locale [\#1800](https://github.com/fzaninotto/Faker/pull/1800) ([FI-LIFE](https://github.com/FI-LIFE))
- Add elgentos/masquerade to third-party library list [\#1798](https://github.com/fzaninotto/Faker/pull/1798) ([erikhansen](https://github.com/erikhansen))
- Add link to Gravatar provider repository [\#1796](https://github.com/fzaninotto/Faker/pull/1796) ([ottaviano](https://github.com/ottaviano))
- Add mobileNumber\(\) method for nb\_NO [\#1788](https://github.com/fzaninotto/Faker/pull/1788) ([carestad](https://github.com/carestad))
- Enhancement: Slightly clean up Company provider [\#1783](https://github.com/fzaninotto/Faker/pull/1783) ([localheinz](https://github.com/localheinz))
- Added some more information for autoloading in the readme [\#1780](https://github.com/fzaninotto/Faker/pull/1780) ([pimjansen](https://github.com/pimjansen))
- Enhancement: Add issue template for bug report [\#1779](https://github.com/fzaninotto/Faker/pull/1779) ([localheinz](https://github.com/localheinz))
- Add hslColor to ColorProvider [\#1776](https://github.com/fzaninotto/Faker/pull/1776) ([icanhazstring](https://github.com/icanhazstring))
- Enhancement: Consistently use composer package name for link content [\#1770](https://github.com/fzaninotto/Faker/pull/1770) ([localheinz](https://github.com/localheinz))
- Add Correct Thai words for streets,soi etc names and add Thai First a… [\#1769](https://github.com/fzaninotto/Faker/pull/1769) ([pierrejoye](https://github.com/pierrejoye))
- Enhancement: Assert that postcode generated by Austrian Address provider matches format [\#1766](https://github.com/fzaninotto/Faker/pull/1766) ([localheinz](https://github.com/localheinz))
- Enhancement: Update squizlabs/php\_codesniffer [\#1763](https://github.com/fzaninotto/Faker/pull/1763) ([localheinz](https://github.com/localheinz))
- Enhancement: Assert that imageUrl can be used with gray flag [\#1762](https://github.com/fzaninotto/Faker/pull/1762) ([localheinz](https://github.com/localheinz))
- Enhancement: Introduce build and help targets [\#1761](https://github.com/fzaninotto/Faker/pull/1761) ([localheinz](https://github.com/localheinz))
- Enhancement: Disable Xdebug as early as possible [\#1758](https://github.com/fzaninotto/Faker/pull/1758) ([localheinz](https://github.com/localheinz))
- Enhancement: Clean up .gitattributes [\#1756](https://github.com/fzaninotto/Faker/pull/1756) ([localheinz](https://github.com/localheinz))
- Enhancement: Reference phpunit.xsd as installed with composer [\#1755](https://github.com/fzaninotto/Faker/pull/1755) ([localheinz](https://github.com/localheinz))
- add id\_ID Color [\#1754](https://github.com/fzaninotto/Faker/pull/1754) ([cacing69](https://github.com/cacing69))
- PHP 7.4 compatibility [\#1748](https://github.com/fzaninotto/Faker/pull/1748) ([pimjansen](https://github.com/pimjansen))
- Add lastName gender specific on ru\_RU locale [\#1747](https://github.com/fzaninotto/Faker/pull/1747) ([aanfarhan](https://github.com/aanfarhan))
- Update README - Add a new faker. [\#1731](https://github.com/fzaninotto/Faker/pull/1731) ([drupol](https://github.com/drupol))
- Add faker-eddy-malou third-party library [\#1717](https://github.com/fzaninotto/Faker/pull/1717) ([Metrakit](https://github.com/Metrakit))
- \[de\_DE\] Company\JobTitle: list of common german job titles [\#1716](https://github.com/fzaninotto/Faker/pull/1716) ([amacado](https://github.com/amacado))
- Added 'red' to $safeColorNames [\#1701](https://github.com/fzaninotto/Faker/pull/1701) ([xfudox](https://github.com/xfudox))
- \[pt\_PT/Address\] Add abbreviature to 'travessa' and 'largo' [\#1606](https://github.com/fzaninotto/Faker/pull/1606) ([simaolemos](https://github.com/simaolemos))
- Fix method name for en\_NZ provider in readme [\#1595](https://github.com/fzaninotto/Faker/pull/1595) ([gdhnz](https://github.com/gdhnz))
- Refactoring of the TextTest class [\#1590](https://github.com/fzaninotto/Faker/pull/1590) ([stevegrunwell](https://github.com/stevegrunwell))
- add gender variants for last name \[lt\_LT\] [\#1586](https://github.com/fzaninotto/Faker/pull/1586) ([ikerasLT](https://github.com/ikerasLT))
- add .id TLD [\#1566](https://github.com/fzaninotto/Faker/pull/1566) ([ad3n](https://github.com/ad3n))
- Add Color provider to es\_ES locale [\#1559](https://github.com/fzaninotto/Faker/pull/1559) ([juananruiz](https://github.com/juananruiz))
- Enhancement: Keep packages sorted in composer.json [\#1551](https://github.com/fzaninotto/Faker/pull/1551) ([localheinz](https://github.com/localheinz))
- Portuguese providers for Companies and Internet [\#1537](https://github.com/fzaninotto/Faker/pull/1537) ([promatik](https://github.com/promatik))
- Improve Dutch company names [\#1529](https://github.com/fzaninotto/Faker/pull/1529) ([koole](https://github.com/koole))
- Document randomDigitNot base formatter. [\#1514](https://github.com/fzaninotto/Faker/pull/1514) ([shawnlindstrom](https://github.com/shawnlindstrom))
- Estonian names [\#1461](https://github.com/fzaninotto/Faker/pull/1461) ([much-rebel](https://github.com/much-rebel))
- add birthplace support for ID nik generator [\#1451](https://github.com/fzaninotto/Faker/pull/1451) ([mikk150](https://github.com/mikk150))
- List of banks in Brazil added [\#1427](https://github.com/fzaninotto/Faker/pull/1427) ([diegohenicka](https://github.com/diegohenicka))
- Remove last names from the male first names array \(et\_EE\) [\#1799](https://github.com/fzaninotto/Faker/pull/1799) ([Mihkel100](https://github.com/Mihkel100))
- Update out-of-date currency codes [\#1795](https://github.com/fzaninotto/Faker/pull/1795) ([Brindster](https://github.com/Brindster))
- Floor is not always returning an int [\#1790](https://github.com/fzaninotto/Faker/pull/1790) ([pimjansen](https://github.com/pimjansen))
- typo [\#1789](https://github.com/fzaninotto/Faker/pull/1789) ([enumag](https://github.com/enumag))
- Added batch inserts for doctrine orm populate [\#1781](https://github.com/fzaninotto/Faker/pull/1781) ([pimjansen](https://github.com/pimjansen))
- FIx: Avoid deprecation warning in newer CakePHP version [\#1777](https://github.com/fzaninotto/Faker/pull/1777) ([icanhazstring](https://github.com/icanhazstring))
- Fix: Consistently link to GitHub repositories [\#1774](https://github.com/fzaninotto/Faker/pull/1774) ([localheinz](https://github.com/localheinz))
- Fix: Name of package [\#1772](https://github.com/fzaninotto/Faker/pull/1772) ([localheinz](https://github.com/localheinz))
- Remove BV and HM country codes. [\#1767](https://github.com/fzaninotto/Faker/pull/1767) ([oliverpool](https://github.com/oliverpool))
- Fix: Remove sudo configuration [\#1760](https://github.com/fzaninotto/Faker/pull/1760) ([localheinz](https://github.com/localheinz))
- Fix: Allow nightly builds to fail [\#1759](https://github.com/fzaninotto/Faker/pull/1759) ([localheinz](https://github.com/localheinz))
- Fix: No need to update composer itself [\#1757](https://github.com/fzaninotto/Faker/pull/1757) ([localheinz](https://github.com/localheinz))
- duplicate first name and last name removal [\#1729](https://github.com/fzaninotto/Faker/pull/1729) ([sagautam5](https://github.com/sagautam5))
- Fix-Isreal--Israel [\#1724](https://github.com/fzaninotto/Faker/pull/1724) ([GitEvil](https://github.com/GitEvil))
- fix\(issue-1721\): add phpdoc method and properties annotations for php… [\#1722](https://github.com/fzaninotto/Faker/pull/1722) ([lugus](https://github.com/lugus))
- Typo in function PHPDoc [\#1711](https://github.com/fzaninotto/Faker/pull/1711) ([Dzhuneyt](https://github.com/Dzhuneyt))
- Fix: Add allowed type DateTime to param annotation [\#1697](https://github.com/fzaninotto/Faker/pull/1697) ([localheinz](https://github.com/localheinz))
- Calling a non static method as static not allowed. [\#1696](https://github.com/fzaninotto/Faker/pull/1696) ([wilco-1985](https://github.com/wilco-1985))
- Bug Fix en\_SG mobile number generation [\#1658](https://github.com/fzaninotto/Faker/pull/1658) ([ziming](https://github.com/ziming))
- Update ja\_JP Address Provider [\#1649](https://github.com/fzaninotto/Faker/pull/1649) ([atmngw](https://github.com/atmngw))
- Fixed realText on ja\_JP locale broken, /u missing [\#1634](https://github.com/fzaninotto/Faker/pull/1634) ([mihit](https://github.com/mihit))
- Removed comma and space from $firstNameMale for en\_IN [\#1608](https://github.com/fzaninotto/Faker/pull/1608) ([phpspider](https://github.com/phpspider))
- Prevent Transliterator class autoloading [\#1575](https://github.com/fzaninotto/Faker/pull/1575) ([MontealegreLuis](https://github.com/MontealegreLuis))
- building numbers in Germany never start with a zero or are zero [\#1530](https://github.com/fzaninotto/Faker/pull/1530) ([fostam](https://github.com/fostam))
- Fixing sk\_SK men last names set [\#1459](https://github.com/fzaninotto/Faker/pull/1459) ([pavoltanuska](https://github.com/pavoltanuska))
- Taiwan ID. The initial letter must be a capital letter. p-\>P [\#1434](https://github.com/fzaninotto/Faker/pull/1434) ([slawa-dev](https://github.com/slawa-dev))
- Revert "Added 'red' to $safeColorNames" [\#1778](https://github.com/fzaninotto/Faker/pull/1778) ([fzaninotto](https://github.com/fzaninotto))
- Added realText capability for fr\_CA [\#1686](https://github.com/fzaninotto/Faker/pull/1686) ([bobanum](https://github.com/bobanum))
- Add loremflickr.com Provider to the thrid parties [\#1683](https://github.com/fzaninotto/Faker/pull/1683) ([xvladxtremal](https://github.com/xvladxtremal))
- Add Undeclared Faker Instance to PhoneNumber Test in en\_NG [\#1682](https://github.com/fzaninotto/Faker/pull/1682) ([thearsalan](https://github.com/thearsalan))
- PSR-2 updates to readme [\#1679](https://github.com/fzaninotto/Faker/pull/1679) ([b3none](https://github.com/b3none))
- PHPDoc for `passthrough` function on Generator [\#1678](https://github.com/fzaninotto/Faker/pull/1678) ([tabakhase](https://github.com/tabakhase))
- Make en\_CA Phone Provider Extend the en\_US One [\#1676](https://github.com/fzaninotto/Faker/pull/1676) ([darrylhein](https://github.com/darrylhein))
- Add Valid National Code Generator to fa\_IR Person [\#1675](https://github.com/fzaninotto/Faker/pull/1675) ([thearsalan](https://github.com/thearsalan))
- Updated readme.md: added a missing backslash [\#1673](https://github.com/fzaninotto/Faker/pull/1673) ([aubryfr](https://github.com/aubryfr))
- Add 'Faker\Provider\en\_US\Company::catchPhrase' to ru\_RU locale [\#1668](https://github.com/fzaninotto/Faker/pull/1668) ([axklim](https://github.com/axklim))
- Update deprecated \PHPUnit\_Framework\_TestCase with PHPUnit\Framework\TestCase [\#1664](https://github.com/fzaninotto/Faker/pull/1664) ([thewhit](https://github.com/thewhit))
- Support populating Doctrine's immutable date types [\#1639](https://github.com/fzaninotto/Faker/pull/1639) ([voronkovich](https://github.com/voronkovich))
- add titleMale and titleFemale method to all Person classes [\#1635](https://github.com/fzaninotto/Faker/pull/1635) ([RiverDanceGit](https://github.com/RiverDanceGit))
- Minor typo fix [\#1631](https://github.com/fzaninotto/Faker/pull/1631) ([nhedger](https://github.com/nhedger))
- Add link to er1z/fakemock [\#1622](https://github.com/fzaninotto/Faker/pull/1622) ([er1z](https://github.com/er1z))
- Add Dutch \(nl\_NL\) job titles [\#1618](https://github.com/fzaninotto/Faker/pull/1618) ([SjorsO](https://github.com/SjorsO))
- Exclude files and folder from release archive [\#1617](https://github.com/fzaninotto/Faker/pull/1617) ([ankurk91](https://github.com/ankurk91))
- Update doc block [\#1615](https://github.com/fzaninotto/Faker/pull/1615) ([ankurk91](https://github.com/ankurk91))
- Suggest PSR-4 compliant autoloader in comment [\#1614](https://github.com/fzaninotto/Faker/pull/1614) ([samnela](https://github.com/samnela))
- Fix dateTimeBetween\(\) Argument on Generator phpdoc [\#1583](https://github.com/fzaninotto/Faker/pull/1583) ([hisomura](https://github.com/hisomura))
- Fix Dutch typo [\#1580](https://github.com/fzaninotto/Faker/pull/1580) ([gizburdt](https://github.com/gizburdt))
- Old city names changed to new ones [\#1578](https://github.com/fzaninotto/Faker/pull/1578) ([goszowski](https://github.com/goszowski))
- Correct documentation [\#1571](https://github.com/fzaninotto/Faker/pull/1571) ([rquadling](https://github.com/rquadling))
- Make $suffix protected not private in nl\_NL\Person provider [\#1561](https://github.com/fzaninotto/Faker/pull/1561) ([SpadXIII](https://github.com/SpadXIII))
- Add PicsumPhotos Provider to the thrid parties [\#1560](https://github.com/fzaninotto/Faker/pull/1560) ([bluemmb](https://github.com/bluemmb))
- fix austrian postal codes starting with invalid 0 [\#1545](https://github.com/fzaninotto/Faker/pull/1545) ([mpge](https://github.com/mpge))
- Restore a random seed when the Generator is destroyed [\#1534](https://github.com/fzaninotto/Faker/pull/1534) ([lyrixx](https://github.com/lyrixx))
- Add a swiss social security number \(AVS13\) generator [\#1533](https://github.com/fzaninotto/Faker/pull/1533) ([nhedger](https://github.com/nhedger))
- Small tweaks [\#1526](https://github.com/fzaninotto/Faker/pull/1526) ([carusogabriel](https://github.com/carusogabriel))
- fix ukraine first name person, delete space [\#1525](https://github.com/fzaninotto/Faker/pull/1525) ([Yasuslik](https://github.com/Yasuslik))
- Removed unknown postcode [\#1440](https://github.com/fzaninotto/Faker/pull/1440) ([ayanozturk](https://github.com/ayanozturk))
- Add more PhoneNumber options for es\_ES [\#1219](https://github.com/fzaninotto/Faker/pull/1219) ([driade](https://github.com/driade))
- Fix duplication in uk\_UA male first names [\#1214](https://github.com/fzaninotto/Faker/pull/1214) ([fre5h](https://github.com/fre5h))
- Added missing grayscale option/flag to Image provider [\#928](https://github.com/fzaninotto/Faker/pull/928) ([sebastianvilla](https://github.com/sebastianvilla))
## 2018-07-12, v1.8.0
- Typo in readme [\#1521](https://github.com/fzaninotto/Faker/pull/1521) ([jmhobbs](https://github.com/jmhobbs))
- Replaced Hilll with Hill [\#1516](https://github.com/fzaninotto/Faker/pull/1516) ([MarkVaughn](https://github.com/MarkVaughn))
@@ -81,8 +193,7 @@ CHANGELOG
- Added idNumber for nl\_NL [\#1283](https://github.com/fzaninotto/Faker/pull/1283) ([artorozenga](https://github.com/artorozenga))
- Feature/en us company ein [\#1273](https://github.com/fzaninotto/Faker/pull/1273) ([zachflower](https://github.com/zachflower))
2017-08-15, v1.7.0
------------------
## 2017-08-15, v1.7.0
- Added more Ukrainian banks [\#1271](https://github.com/fzaninotto/Faker/pull/1271) ([iamraccoon](https://github.com/iamraccoon))
- Hotfix/failing unit tests [\#1269](https://github.com/fzaninotto/Faker/pull/1269) ([zachflower](https://github.com/zachflower))
@@ -215,8 +326,7 @@ CHANGELOG
- Fix Doctrine ODM Support [\#489](https://github.com/fzaninotto/Faker/pull/489) ([cbourgois](https://github.com/cbourgois))
2016-04-29, v1.6.0
------------------
## 2016-04-29, v1.6.0
- Remove parts of the Hungarian (hu\_HU) address formatters [\#902](https://github.com/fzaninotto/Faker/pull/902) ([fzaninotto](https://github.com/fzaninotto))
- Renamed norwegian (nb\_NO) locale [\#901](https://github.com/fzaninotto/Faker/pull/901) ([fzaninotto](https://github.com/fzaninotto))
@@ -347,8 +457,7 @@ CHANGELOG
- Updated `optional` and `boolean` apis to be more consistent [\#513](https://github.com/fzaninotto/Faker/pull/513) ([EmanueleMinotto](https://github.com/EmanueleMinotto))
- Added Greek (el\_GR) `Address` provider [\#504](https://github.com/fzaninotto/Faker/pull/504) ([drakakisgeo](https://github.com/drakakisgeo))
2015-05-29, v1.5.0
------------------
## 2015-05-29, v1.5.0
* Added ability to print custom text on the images fetched by the Image provider [\#583](https://github.com/fzaninotto/Faker/pull/583) ([fzaninotto](https://github.com/fzaninotto))
* Fixed typos in Peruvian (es\_PE) Person provider [\#581](https://github.com/fzaninotto/Faker/pull/581) [\#580](https://github.com/fzaninotto/Faker/pull/580) ([ysramirez](https://github.com/ysramirez))
@@ -458,8 +567,7 @@ CHANGELOG
* Added English for New Zealand (en\_NZ) locale [\#283](https://github.com/fzaninotto/Faker/pull/283) ([JasonMortonNZ](https://github.com/JasonMortonNZ))
* Added mention of external Provider for cron expressions to readme[\#498](https://github.com/fzaninotto/Faker/pull/498) ([swekaj](https://github.com/swekaj))
2014-06-04, v1.4.0
------------------
## 2014-06-04, v1.4.0
* Fixed typo in Slovak person names (cinan)
* Added tests for uk_UA providers (serge-kuharev)
@@ -522,8 +630,7 @@ CHANGELOG
* Added 'kana' (ja_JP) name formatters (kzykhys)
* Added allow_failure for hhvm to travis-ci and test against php 5.5 (toin0u)
2013-12-16, v1.3.0
------------------
## 2013-12-16, v1.3.0
* Fixed state generator in Australian (en_AU) provider (sebklaus)
* Fixed IDE insights for locale specific providers (ulrikjohansson)
@@ -570,9 +677,7 @@ CHANGELOG
* Added Color provider with hexColor, rgbColor, rgbColorAsArray, rgbCssColor, safeColorName, and colorName formatters (lsv)
* Added support for associative arrays in `randomElement` (aRn0D)
2013-06-09, v1.2.0
------------------
## 2013-06-09, v1.2.0
* Added new provider for fr_BE locale (jflefebvre)
* Updated locale provider to use a static locale list (spawn-guy)
@@ -617,8 +722,7 @@ CHANGELOG
* Fixed bug in Doctrine EntityPopulator (beberlei)
* Added Finnish (fi_FI) provider (drodil)
2012-10-29, v1.1.0
------------------
## 2012-10-29, v1.1.0
* Updated text provider to return paragraphs as a string instead of array. Great for populating markdown textarea fields (Seldaek)
* Updated dateTimeBetween to accept DateTime instances (Seldaek)
@@ -635,7 +739,6 @@ CHANGELOG
* Added latitude and longitude formatters to Address provider (fixe)
* Added Serbian provider (umpirsky)
2012-07-10, v1.0.0
-----------------
## 2012-07-10, v1.0.0
* Initial Version

View File

@@ -1,22 +0,0 @@
Contributing
============
If you've written a new formatter, adapted Faker to a new locale, or fixed a bug, your contribution is welcome!
Before proposing a pull request, check the following:
* Your code should follow the [PSR-2 coding standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). Run `make sniff` to check that the coding standards are followed, and use [php-cs-fixer](https://github.com/fabpot/PHP-CS-Fixer) to fix inconsistencies.
* Unit tests should still pass after your patch. Run the tests on your dev server (with `make test`) or check the continuous integration status for your pull request.
* As much as possible, add unit tests for your code
* Never use `rand()` in your providers. Faker uses the Mersenne Twister Randomizer, so use `mt_rand()` or any of the base generators (`randomNumber`, `randomElement`, etc.) instead.
* If you add new providers (or new locales) and that they embed a lot of data for random generation (e.g. first names in a new language), please add a `@link` to the reference you used for this list (example [in the ru_RU locale](https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/ru_RU/Person.php#L13)). This will ease future updates of the list and debates about the most relevant data for this provider.
* If you add long list of random data, please split the list into several lines. This makes diffs easier to read, and facilitates core review.
* If you add new formatters, please include documentation for it in the README. Don't forget to add a line about new formatters in the `@property` or `@method` phpDoc entries in [Generator.php](https://github.com/fzaninotto/Faker/blob/master/src/Faker/Generator.php#L6-L118) to help IDEs auto-complete your formatters.
* If your new formatters are specific to a certain locale, document them in the [Language-specific formatters](https://github.com/fzaninotto/Faker#language-specific-formatters) list instead.
* Avoid changing existing sets of data. Some developers use Faker with seeding for unit tests ; changing the data makes their tests fail.
* Speed is important in all Faker usages. Make sure your code is optimized to generate thousands of fake items in no time, without consuming too much memory or CPU.
* If you commit a new feature, be prepared to help maintaining it. Watch the project on GitHub, and please comment on issues or PRs regarding the feature you contributed.
Once your code is merged, it is available for free to everybody under the MIT License. Publishing your Pull Request on the Faker GitHub repository means that you agree with this license for your contribution.
Thank you for your contribution! Faker wouldn't be so great without you.

View File

@@ -1,10 +0,0 @@
vendor/autoload.php:
composer install --no-interaction --prefer-dist
.PHONY: sniff
sniff: vendor/autoload.php
vendor/bin/phpcs --standard=PSR2 src -n
.PHONY: test
test: vendor/autoload.php
vendor/bin/phpunit --verbose

View File

@@ -2,7 +2,11 @@
"name": "fzaninotto/faker",
"type": "library",
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": ["faker", "fixtures", "data"],
"keywords": [
"faker",
"fixtures",
"data"
],
"license": "MIT",
"authors": [
{
@@ -13,9 +17,9 @@
"php": "^5.3.3 || ^7.0"
},
"require-dev": {
"ext-intl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7",
"squizlabs/php_codesniffer": "^1.5",
"ext-intl": "*"
"squizlabs/php_codesniffer": "^2.9.2"
},
"autoload": {
"psr-4": {
@@ -29,7 +33,10 @@
},
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"config": {
"sort-packages": true
}
}

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
bootstrap="vendor/autoload.php"
colors="true"
>
<testsuites>
<testsuite name="Faker Test Suite">
<directory>./test/Faker/</directory>
</testsuite>
</testsuites>
</phpunit>

View File

@@ -1,5 +1,7 @@
# Faker
[![Code Coverage](https://codecov.io/gh/fzaninotto/Faker/branch/master/graph/badge.svg)](https://codecov.io/gh/fzaninotto/Faker)
Faker is a PHP library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.
Faker is heavily inspired by Perl's [Data::Faker](http://search.cpan.org/~jasonk/Data-Faker-0.07/), and by ruby's [Faker](https://rubygems.org/gems/faker).
@@ -51,14 +53,29 @@ composer require fzaninotto/faker
## Basic Usage
### Autoloading
Faker supports both `PSR-0` as `PSR-4` autoloaders.
```php
<?php
# When installed via composer
require_once 'vendor/autoload.php';
```
You can also load `Fakers` shipped `PSR-0` autoloader
```php
<?php
# Load Fakers own autoloader
require_once '/path/to/Faker/src/autoload.php';
```
*alternatively, you can use any another PSR-4 compliant autoloader*
### Create fake data
Use `Faker\Factory::create()` to create and initialize a faker generator, which can generate data by accessing properties named after the type of data you want.
```php
<?php
// require the Faker autoloader
require_once '/path/to/Faker/src/autoload.php';
// alternatively, use another PSR-0 compliant autoloader (like the Symfony2 ClassLoader for instance)
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
@@ -79,7 +96,7 @@ Even if this example shows a property access, each call to `$faker->name` yields
```php
<?php
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
echo $faker->name, "\n";
}
// Adaline Reichel
@@ -103,6 +120,7 @@ Each of the generator properties (like `name`, `address`, and `lorem`) are calle
### `Faker\Provider\Base`
randomDigit // 7
randomDigitNot(5) // 0, 1, 2, 3, 4, 6, 7, 8, or 9
randomDigitNotNull // 5
randomNumber($nbDigits = NULL, $strict = false) // 79907610
randomFloat($nbMaxDecimals = NULL, $min = 0, $max = NULL) // 48.8932
@@ -250,6 +268,8 @@ Methods accepting a `$timezone` argument default to `date_default_timezone_get()
rgbCssColor // 'rgb(0,255,122)'
safeColorName // 'fuchsia'
colorName // 'Gainsbor'
hslColor // '340,50,20'
hslColorAsArray // array(340,50,20)
### `Faker\Provider\File`
@@ -265,7 +285,7 @@ Methods accepting a `$timezone` argument default to `date_default_timezone_get()
imageUrl($width = 640, $height = 480) // 'http://lorempixel.com/640/480/'
imageUrl($width, $height, 'cats') // 'http://lorempixel.com/800/600/cats/'
imageUrl($width, $height, 'cats', true, 'Faker') // 'http://lorempixel.com/800/400/cats/Faker'
imageUrl($width, $height, 'cats', true, 'Faker', true) // 'http://lorempixel.com/grey/800/400/cats/Faker/' Monochrome image
imageUrl($width, $height, 'cats', true, 'Faker', true) // 'http://lorempixel.com/gray/800/400/cats/Faker/' Monochrome image
image($dir = '/tmp', $width = 640, $height = 480) // '/tmp/13b73edae8443990be1aa8f1a483bc27.jpg'
image($dir, $width, $height, 'cats') // 'tmp/13b73edae8443990be1aa8f1a483bc27.jpg' it's a cat!
image($dir, $width, $height, 'cats', false) // '13b73edae8443990be1aa8f1a483bc27.jpg' it's a filename without path
@@ -314,7 +334,7 @@ Faker provides three special providers, `unique()`, `optional()`, and `valid()`,
```php
// unique() forces providers to return unique values
$values = array();
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
// get a random digit, but always a new one, to avoid duplicates
$values []= $faker->unique()->randomDigit;
}
@@ -323,7 +343,7 @@ print_r($values); // [4, 1, 8, 5, 0, 2, 6, 9, 7, 3]
// providers with a limited range will throw an exception when no new unique value can be generated
$values = array();
try {
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
$values []= $faker->unique()->randomDigitNotNull;
}
} catch (\OverflowException $e) {
@@ -336,7 +356,7 @@ $faker->unique($reset = true)->randomDigitNotNull; // will not throw OverflowExc
// optional() sometimes bypasses the provider to return a default value instead (which defaults to NULL)
$values = array();
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
// get a random digit, but also null sometimes
$values []= $faker->optional()->randomDigit;
}
@@ -357,7 +377,7 @@ $values = array();
$evenValidator = function($digit) {
return $digit % 2 === 0;
};
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
$values []= $faker->valid($evenValidator)->randomDigit;
}
print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]
@@ -384,7 +404,7 @@ $faker->optional()->passthrough(mt_rand(5, 15));
```php
<?php
$faker = Faker\Factory::create('fr_FR'); // create a French faker
for ($i=0; $i < 10; $i++) {
for ($i = 0; $i < 10; $i++) {
echo $faker->name, "\n";
}
// Luce du Coulon
@@ -407,12 +427,15 @@ Faker provides adapters for Object-Relational and Object-Document Mappers (curre
To populate entities, create a new populator class (using a generator instance as parameter), then list the class and number of all the entities that must be generated. To launch the actual data population, call the `execute()` method.
Note that some of the `populators` could require additional parameters. As example the `doctrine` populator has an option to specify
its batchSize on how often it will flush the UnitOfWork to the database.
Here is an example showing how to populate 5 `Author` and 10 `Book` objects:
```php
<?php
$generator = \Faker\Factory::create();
$populator = new Faker\ORM\Propel\Populator($generator);
$populator = new \Faker\ORM\Propel\Populator($generator);
$populator->addEntity('Author', 5);
$populator->addEntity('Book', 10);
$insertedPKs = $populator->execute();
@@ -450,6 +473,8 @@ print_r($insertedPKs);
// )
```
**Note:** Due to the fact that `Faker` returns all the primary keys inserted, the memory consumption will go up drastically when you do batch inserts due to the big list of data.
In the previous example, the `Book` and `Author` models share a relationship. Since `Author` entities are populated first, Faker is smart enough to relate the populated `Book` entities to one of the populated `Author` entities.
Lastly, if you want to execute an arbitrary function on an entity before insertion, use the fourth argument of the `addEntity()` method:
@@ -567,7 +592,7 @@ $faker = Faker\Factory::create();
?>
<?xml version="1.0" encoding="UTF-8"?>
<contacts>
<?php for ($i=0; $i < 10; $i++): ?>
<?php for ($i = 0; $i < 10; $i++): ?>
<contact firstName="<?php echo $faker->firstName ?>" lastName="<?php echo $faker->lastName ?>" email="<?php echo $faker->email ?>">
<phone number="<?php echo $faker->phoneNumber ?>"/>
<?php if ($faker->boolean(25)): ?>
@@ -859,6 +884,15 @@ echo $faker->cvr; // "32458723"
echo $faker->p; // "5398237590"
```
### `Faker\Provider\de_CH\Person`
```php
<?php
// Generates a random AVS13/AHV13 social security number
echo $faker->avs13; // "756.1234.5678.97" OR
echo $faker->ahv13; // "756.1234.5678.97"
```
### `Faker\Provider\de_DE\Payment`
```php
@@ -925,7 +959,7 @@ echo $faker->name; // 'Oluwunmi Mayowa'
<?php
// Generates a cell (mobile) phone number
echo $faker->cellNumber; // "021 123 4567"
echo $faker->mobileNumber; // "021 123 4567"
// Generates a toll free number
echo $faker->tollFreeNumber; // "0800 123 456"
@@ -1014,6 +1048,18 @@ echo $faker->licenceCode; // B
echo $faker->vat; // "A35864370"
```
### `Faker\Provider\es_ES\PhoneNumber`
```php
<?php
// Generates a special rate toll free phone number
echo $faker->tollFreeNumber; // 900 123 456
// Generates a mobile phone number
echo $faker->mobileNumber; // +34 612 12 24
```
### `Faker\Provider\es_PE\Person`
```php
@@ -1023,6 +1069,15 @@ echo $faker->vat; // "A35864370"
echo $faker->dni; // '83367512'
```
### `Faker\Provider\fa_IR\Person`
```php
<?php
// Generates a valid nationalCode
echo $faker->nationalCode; // "0078475759"
```
### `Faker\Provider\fa_IR\Address`
```php
@@ -1092,6 +1147,14 @@ echo $faker->nationalId; // 'V11223344'
echo $faker->taxpayerIdentificationNumber; // 'J1234567891'
```
### `Faker\Provider\fr_CH\Person`
```php
<?php
// Generates a random AVS13/AHV13 social security number
echo $faker->avs13; // "756.1234.5678.97"
```
### `Faker\Provider\fr_FR\Address`
```php
@@ -1192,6 +1255,14 @@ echo $faker->bankAccountNumber; // "HU09904437680048220079300783"
echo $faker->nik(); // "8522246001570940"
```
### `Faker\Provider\it_CH\Person`
```php
<?php
// Generates a random AVS13/AHV13 social security number
echo $faker->avs13; // "756.1234.5678.97"
```
### `Faker\Provider\it_IT\Company`
```php
@@ -1412,6 +1483,7 @@ echo $faker->rrn('female'); // "50032089858" - Belgian Rijksregisternummer for a
```php
<?php
echo $faker->jobTitle; // "Houtbewerker"
echo $faker->vat; // "NL123456789B01" - Dutch Value Added Tax number
echo $faker->btw; // "NL123456789B01" - Dutch Value Added Tax number (alias)
```
@@ -1424,6 +1496,17 @@ echo $faker->btw; // "NL123456789B01" - Dutch Value Added Tax number (alias)
echo $faker->idNumber; // "111222333" - Dutch Personal identification number (BSN)
```
### `Faker\Provider\nb_NO\MobileNumber`
```php
<?php
// Generates a random Norwegian mobile phone number
echo $faker->mobileNumber; // "+4799988777"
echo $faker->mobileNumber; // "999 88 777"
echo $faker->mobileNumber; // "99988777"
```
### `Faker\Provider\nb_NO\Payment`
```php
@@ -1678,30 +1761,38 @@ echo $faker->VAT; //23456789
## Third-Party Libraries Extending/Based On Faker
* Symfony2 bundles:
* [BazingaFakerBundle](https://github.com/willdurand/BazingaFakerBundle): Put the awesome Faker library into the Symfony2 DIC and populate your database with fake data.
* [AliceBundle](https://github.com/hautelook/AliceBundle), [AliceFixturesBundle](https://github.com/h4cc/AliceFixturesBundle): Bundles for using [Alice](https://packagist.org/packages/nelmio/alice) and Faker with data fixtures. Able to use Doctrine ORM as well as Doctrine MongoDB ODM.
* [FakerServiceProvider](https://github.com/EmanueleMinotto/FakerServiceProvider): Faker Service Provider for Silex
* [faker-cli](https://github.com/bit3/faker-cli): Command Line Tool for the Faker PHP library
* [Factory Muffin](https://github.com/thephpleague/factory-muffin): enable the rapid creation of objects (PHP port of factory-girl)
* [CompanyNameGenerator](https://github.com/fzaninotto/CompanyNameGenerator): Generate names for English tech companies with class
* [PlaceholdItProvider](https://github.com/EmanueleMinotto/PlaceholdItProvider): Generate images using placehold.it
* [datalea](https://github.com/spyrit/datalea) A highly customizable random test data generator web app
* [newage-ipsum](https://github.com/frequenc1/newage-ipsum): A new aged ipsum provider for the faker library inspired by http://sebpearce.com/bullshit/
* [xml-faker](https://github.com/prewk/xml-faker): Create fake XML with Faker
* [faker-context](https://github.com/denheck/faker-context): Behat context using Faker to generate testdata
* [CronExpressionGenerator](https://github.com/swekaj/CronExpressionGenerator): Faker provider for generating random, valid cron expressions.
* [pragmafabrik/Pomm2Faker](https://github.com/pragmafabrik/Pomm2Faker): Faker client for Pomm database framework (PostgreSQL)
* [nelmio/alice](https://packagist.org/packages/nelmio/alice): Fixtures/object generator with a yaml DSL that can use Faker as data generator.
* [CakePHP 2.x Fake Seeder Plugin](https://github.com/ravage84/cakephp-fake-seeder) A CakePHP 2.x shell to seed your database with fake and/or fixed data.
* [images-generator](https://github.com/bruceheller/images-generator): An image generator provider using GD for placeholder type pictures
* [pattern-lab/plugin-php-faker](https://github.com/pattern-lab/plugin-php-faker): Pattern Lab is a Styleguide, Component Library, and Prototyping tool. This creates unique content each time Pattern Lab is generated.
* [guidocella/eloquent-populator](https://github.com/guidocella/eloquent-populator): Adapter for Laravel's Eloquent ORM.
* [tamperdata/exiges](https://github.com/tamperdata/exiges): Faker provider for generating random temperatures
* [jzonta/FakerRestaurant](https://github.com/jzonta/FakerRestaurant): Faker for Food and Beverage names generate
* [aalaap/faker-youtube](https://github.com/aalaap/faker-youtube): Faker for YouTube URLs in various formats
* [pelmered/fake-car](https://github.com/pelmered/fake-car): Faker for cars and car data
* Symfony bundles:
* [`willdurand/faker-bundle`](https://github.com/willdurand/BazingaFakerBundle): Put the awesome Faker library into the Symfony2 DIC and populate your database with fake data.
* [`hautelook/alice-bundle`](https://github.com/hautelook/AliceBundle), [`h4cc/alice-fixtures-bundle`](https://github.com/h4cc/AliceFixturesBundle): Bundles for using [`nelmio/alice`](https://packagist.org/packages/nelmio/alice) and Faker with data fixtures. Able to use Doctrine ORM as well as Doctrine MongoDB ODM.
* [`emanueleminotto/faker-service-provider`](https://github.com/EmanueleMinotto/FakerServiceProvider): Faker Service Provider for Silex
* [`bit3/faker-cli`](https://github.com/bit3/faker-cli): Command Line Tool for the Faker PHP library
* [`league/factory-muffin`](https://github.com/thephpleague/factory-muffin): enable the rapid creation of objects (PHP port of factory-girl)
* [`fzaninotto/company-name-generator`](https://github.com/fzaninotto/CompanyNameGenerator): Generate names for English tech companies with class
* [`emanueleminotto/faker-placehold-it-provider`](https://github.com/EmanueleMinotto/PlaceholdItProvider): Generate images using placehold.it
* [`spyrit/datalea`](https://github.com/spyrit/datalea) A highly customizable random test data generator web app
* [`frequenc1/newage-ipsum`](https://github.com/frequenc1/newage-ipsum): A new aged ipsum provider for the faker library inspired by http://sebpearce.com/bullshit/
* [`prewk/xml-faker`](https://github.com/prewk/xml-faker): Create fake XML with Faker
* [`denheck/faker-context`](https://github.com/denheck/faker-context): Behat context using Faker to generate testdata
* [`swekaj/cron-expression-generator`](https://github.com/swekaj/CronExpressionGenerator): Faker provider for generating random, valid cron expressions.
* [`pragmafabrik/pomm-faker`](https://github.com/pragmafabrik/Pomm2Faker): Faker client for Pomm database framework (PostgreSQL)
* [`nelmio/alice`](https://github.com/nelmio/alice): Fixtures/object generator with a yaml DSL that can use Faker as data generator.
* [`ravage84/cakephp-fake-seeder`](https://github.com/ravage84/cakephp-fake-seeder) A CakePHP 2.x shell to seed your database with fake and/or fixed data.
* [`bheller/images-generator`](https://github.com/bruceheller/images-generator): An image generator provider using GD for placeholder type pictures
* [`pattern-lab/plugin-faker`](https://github.com/pattern-lab/plugin-php-faker): Pattern Lab is a Styleguide, Component Library, and Prototyping tool. This creates unique content each time Pattern Lab is generated.
* [`guidocella/eloquent-populator`](https://github.com/guidocella/eloquent-populator): Adapter for Laravel's Eloquent ORM.
* [`tamperdata/exiges`](https://github.com/tamperdata/exiges): Faker provider for generating random temperatures
* [`jzonta/faker-restaurant`](https://github.com/jzonta/FakerRestaurant): Faker for Food and Beverage names generate
* [`aalaap/faker-youtube`](https://github.com/aalaap/faker-youtube): Faker for YouTube URLs in various formats
* [`pelmered/fake-car`](https://github.com/pelmered/fake-car): Faker for cars and car data
* [`bluemmb/faker-picsum-photos-provider`](https://github.com/bluemmb/Faker-PicsumPhotos): Generate images using [picsum.photos](http://picsum.photos/)
* [`er1z/fakemock`](https://github.com/er1z/fakemock): Generate mocks using class-configuration and detection via Faker's guesser and Symfony asserts
* [`xvladqt/faker-lorem-flickr`](https://github.com/xvladxtremal/Faker-LoremFlickr): Generate images using [loremflickr.com](http://loremflickr.com/)
* [`metrakit/faker-eddy-malou`](https://github.com/Metrakit/faker-eddy-malou): Generate French Eddy Malou sentences & paragraphs
* [`drupol/belgian-national-number-faker`](https://github.com/drupol/belgian-national-number-faker): Generate fake Belgian national numbers
* [`elgentos/masquerade`](https://github.com/elgentos/masquerade): Configuration-based, platform-agnostic, locale-compatible data faker tool (out-of-the-box support for Magento 2)
* [`ottaviano/faker-gravatar`](https://github.com/ottaviano/faker-gravatar): Generate avatars using [Gravatar](https://en.gravatar.com/site/implement/images/)
* [`finwe/phpstan-faker`](https://github.com/finwe/phpstan-faker): PHPStan extension for Faker methods
## License
Faker is released under the MIT Licence. See the bundled LICENSE file for details.
Faker is released under the MIT License. See the bundled LICENSE file for details.

View File

@@ -0,0 +1,55 @@
<?php
namespace Faker\Calculator;
/**
* Utility class for validating EAN-8 and EAN-13 numbers
*
* @package Faker\Calculator
*/
class Ean
{
/** @var string EAN validation pattern */
const PATTERN = '/^(?:\d{8}|\d{13})$/';
/**
* Computes the checksum of an EAN number.
*
* @see https://en.wikipedia.org/wiki/International_Article_Number
*
* @param string $digits
* @return int
*/
public static function checksum($digits)
{
$length = strlen($digits);
$even = 0;
for ($i = $length - 1; $i >= 0; $i -= 2) {
$even += $digits[$i];
}
$odd = 0;
for ($i = $length - 2; $i >= 0; $i -= 2) {
$odd += $digits[$i];
}
return (10 - ((3 * $even + $odd) % 10)) % 10;
}
/**
* Checks whether the provided number is an EAN compliant number and that
* the checksum is correct.
*
* @param string $ean An EAN number
* @return boolean
*/
public static function isValid($ean)
{
if (!preg_match(self::PATTERN, $ean)) {
return false;
}
return self::checksum(substr($ean, 0, -1)) === intval(substr($ean, -1));
}
}

View File

@@ -24,10 +24,10 @@ class Luhn
$length = strlen($number);
$sum = 0;
for ($i = $length - 1; $i >= 0; $i -= 2) {
$sum += $number{$i};
$sum += $number[$i];
}
for ($i = $length - 2; $i >= 0; $i -= 2) {
$sum += array_sum(str_split($number{$i} * 2));
$sum += array_sum(str_split($number[$i] * 2));
}
return $sum % 10;

View File

@@ -21,8 +21,10 @@ namespace Faker;
* @property string $city
* @property string $streetName
* @property string $streetAddress
* @property string $secondaryAddress
* @property string $postcode
* @property string $address
* @property string $state
* @property string $country
* @property float $latitude
* @property float $longitude
@@ -33,6 +35,7 @@ namespace Faker;
* @property string $isbn10
*
* @property string $phoneNumber
* @property string $e164PhoneNumber
*
* @property string $company
* @property string $companySuffix
@@ -52,6 +55,7 @@ namespace Faker;
* @property string $word
* @property string|array $words
* @method string|array words($nb = 3, $asText = false)
* @method string word()
* @property string $sentence
* @method string sentence($nbWords = 6, $variableNbWords = true)
* @property string|array $sentences
@@ -113,7 +117,7 @@ namespace Faker;
* @method string year($max = 'now')
* @method \DateTime dateTime($max = 'now', $timezone = null)
* @method \DateTime dateTimeAd($max = 'now', $timezone = null)
* @method \DateTime dateTimeBetween($startDate = '-30 years', $endDate = 'now')
* @method \DateTime dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null)
* @method \DateTime dateTimeInInterval($date = '-30 years', $interval = '+5 days', $timezone = null)
* @method \DateTime dateTimeThisCentury($max = 'now', $timezone = null)
* @method \DateTime dateTimeThisDecade($max = 'now', $timezone = null)
@@ -132,6 +136,7 @@ namespace Faker;
* @method boolean boolean($chanceOfGettingTrue = 50)
*
* @property int $randomDigit
* @property int $randomDigitNot
* @property int $randomDigitNotNull
* @property string $randomLetter
* @property string $randomAscii
@@ -154,6 +159,7 @@ namespace Faker;
* @method Generator optional($weight = 0.5, $default = null)
* @method Generator unique($reset = false, $maxRetries = 10000)
* @method Generator valid($validator = null, $maxRetries = 10000)
* @method mixed passthrough($passthrough)
*
* @method integer biasedNumberBetween($min = 0, $max = 100, $function = 'sqrt')
*
@@ -278,4 +284,14 @@ class Generator
{
return $this->format($method, $attributes);
}
public function __destruct()
{
$this->seed();
}
public function __wakeup()
{
$this->formatters = [];
}
}

View File

@@ -42,7 +42,11 @@ class ColumnTypeGuesser
return $generator->uuid();
};
case 'string':
$columnData = $schema->column($column);
if (method_exists($schema, 'getColumn')) {
$columnData = $schema->getColumn($column);
} else {
$columnData = $schema->column($column);
}
$length = $columnData['length'];
return function () use ($generator, $length) {
return $generator->text($length);

View File

@@ -67,6 +67,12 @@ class ColumnTypeGuesser
return function () use ($generator) {
return $generator->datetime;
};
case 'datetime_immutable':
case 'date_immutable':
case 'time_immutable':
return function () use ($generator) {
return \DateTimeImmutable::createFromMutable($generator->datetime);
};
default:
// no smart way to guess what the user expects here
return null;

View File

@@ -3,6 +3,7 @@
namespace Faker\ORM\Doctrine;
use Doctrine\Common\Persistence\ObjectManager;
use Faker\Generator;
/**
* Service class for populating a database using the Doctrine ORM or ODM.
@@ -10,20 +11,35 @@ use Doctrine\Common\Persistence\ObjectManager;
*/
class Populator
{
/** @var int */
protected $batchSize;
/** @var Generator */
protected $generator;
/** @var ObjectManager|null */
protected $manager;
/** @var array */
protected $entities = array();
/** @var array */
protected $quantities = array();
/** @var array */
protected $generateId = array();
/**
* @param \Faker\Generator $generator
* Populator constructor.
* @param Generator $generator
* @param ObjectManager|null $manager
* @param int $batchSize
*/
public function __construct(\Faker\Generator $generator, ObjectManager $manager = null)
public function __construct(Generator $generator, ObjectManager $manager = null, $batchSize = 1000)
{
$this->generator = $generator;
$this->manager = $manager;
$this->batchSize = $batchSize;
}
/**
@@ -55,6 +71,9 @@ class Populator
/**
* Populate the database using all the Entity classes previously added.
*
* Please note that large amounts of data will result in more memory usage since the the Populator will return
* all newly created primary keys after executing.
*
* @param null|EntityManager $entityManager A Doctrine connection object
*
* @return array A list of the inserted PKs
@@ -72,9 +91,18 @@ class Populator
foreach ($this->quantities as $class => $number) {
$generateId = $this->generateId[$class];
for ($i=0; $i < $number; $i++) {
$insertedEntities[$class][]= $this->entities[$class]->execute($entityManager, $insertedEntities, $generateId);
$insertedEntities[$class][]= $this->entities[$class]->execute(
$entityManager,
$insertedEntities,
$generateId
);
if (count($insertedEntities) % $this->batchSize === 0) {
$entityManager->flush();
$entityManager->clear($class);
}
}
$entityManager->flush();
$entityManager->clear($class);
}
return $insertedEntities;

View File

@@ -141,7 +141,6 @@ class EntityPopulator
foreach ($relations as $relation) {
// We don't need any other relation here.
if ($relation instanceof BelongsTo) {
$fieldName = $relation->localKey();
$entityName = $relation->entityName();
$field = $fields[$fieldName];
@@ -162,14 +161,12 @@ class EntityPopulator
if (empty($records)) {
return null;
}
$id = $records[mt_rand(0, count($records) - 1)]['id'];
return $id;
return $records[mt_rand(0, count($records) - 1)]['id'];
}
return null;
};
}
}

View File

@@ -173,7 +173,7 @@ class Base
/**
* Returns randomly ordered subsequence of $count elements from a provided array
*
* @param array $array Array to take elements from. Defaults to a-f
* @param array $array Array to take elements from. Defaults to a-c
* @param integer $count Number of elements to take.
* @param boolean $allowDuplicates Allow elements to be picked several times. Defaults to false
* @throws \LengthException When requesting more elements than provided
@@ -492,7 +492,7 @@ class Base
// All A-F inside of [] become ABCDEF
$regex = preg_replace_callback('/\[([^\]]+)\]/', function ($matches) {
return '[' . preg_replace_callback('/(\w|\d)\-(\w|\d)/', function ($range) {
return implode(range($range[1], $range[2]), '');
return implode('', range($range[1], $range[2]));
}, $matches[1]) . ']';
}, $regex);
// All [ABC] become B (or A or C)
@@ -590,10 +590,10 @@ class Base
* <code>
* $values = array();
* $evenValidator = function ($digit) {
* return $digit % 2 === 0;
* return $digit % 2 === 0;
* };
* for ($i=0; $i < 10; $i++) {
* $values []= $faker->valid($evenValidator)->randomDigit;
* $values []= $faker->valid($evenValidator)->randomDigit;
* }
* print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]
* </code>

View File

@@ -26,7 +26,7 @@ class Biased extends Base
$y = mt_rand() / (mt_getrandmax() + 1);
} while (call_user_func($function, $x) < $y);
return floor($x * ($max - $min + 1) + $min);
return (int) floor($x * ($max - $min + 1) + $min);
}
/**

View File

@@ -113,4 +113,31 @@ class Color extends Base
{
return static::randomElement(static::$allColorNames);
}
/**
* @example '340,50,20'
* @return string
*/
public static function hslColor()
{
return sprintf(
'%s,%s,%s',
static::numberBetween(0, 360),
static::numberBetween(0, 100),
static::numberBetween(0, 100)
);
}
/**
* @example array(340, 50, 20)
* @return array
*/
public static function hslColorAsArray()
{
return array(
static::numberBetween(0, 360),
static::numberBetween(0, 100),
static::numberBetween(0, 100)
);
}
}

View File

@@ -16,6 +16,8 @@ class Company extends Base
/**
* @example 'Acme Ltd'
*
* @return string
*/
public function company()
{
@@ -26,6 +28,8 @@ class Company extends Base
/**
* @example 'Ltd'
*
* @return string
*/
public static function companySuffix()
{
@@ -34,6 +38,8 @@ class Company extends Base
/**
* @example 'Job'
*
* @return string
*/
public function jobTitle()
{

View File

@@ -9,7 +9,7 @@ class DateTime extends Base
protected static $defaultTimezone = null;
/**
* @param string|float|int $max
* @param \DateTime|string|float|int $max
* @return int|false
*/
protected static function getMaxTimestamp($max = 'now')
@@ -147,7 +147,7 @@ class DateTime extends Base
* an interval
* Accepts date string that can be recognized by strtotime().
*
* @param string $date Defaults to 30 years ago
* @param \DateTime|string $date Defaults to 30 years ago
* @param string $interval Defaults to 5 days after
* @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get`
* @example dateTimeInInterval('1999-02-02 11:42:52', '+ 5 days')

View File

@@ -83,14 +83,14 @@ class HtmlLorem extends Base
$this->addRandomAttribute($sibling);
$this->addRandomSubTree($sibling, mt_rand(0, $maxDepth), $maxWidth);
}
};
}
return $root;
}
private function addRandomLeaf(\DOMElement $node)
{
$rand = mt_rand(1, 10);
switch($rand){
switch ($rand) {
case 1:
$this->addRandomP($node);
break;
@@ -172,7 +172,6 @@ class HtmlLorem extends Base
$node = $element->ownerDocument->createElement($h);
$node->appendChild($text);
$element->appendChild($node);
}
private function addRandomB(\DOMElement $element, $maxLength = 10)

View File

@@ -61,7 +61,7 @@ class Image extends Base
*
* @example '/path/to/dir/13b73edae8443990be1aa8f1a483bc27.jpg'
*/
public static function image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null)
public static function image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null, $gray = false)
{
$dir = is_null($dir) ? sys_get_temp_dir() : $dir; // GNU/Linux / OS X / Windows compatible
// Validate directory path
@@ -75,7 +75,7 @@ class Image extends Base
$filename = $name .'.jpg';
$filepath = $dir . DIRECTORY_SEPARATOR . $filename;
$url = static::imageUrl($width, $height, $category, $randomize, $word);
$url = static::imageUrl($width, $height, $category, $randomize, $word, $gray);
// save file
if (function_exists('curl_exec')) {

View File

@@ -175,7 +175,7 @@ class Internet extends Base
}
$words = $this->generator->words($nbWords);
return join($words, '-');
return join('-', $words);
}
/**
@@ -233,7 +233,7 @@ class Internet extends Base
}
$transId = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;';
if (class_exists('Transliterator') && $transliterator = \Transliterator::create($transId)) {
if (class_exists('Transliterator', false) && $transliterator = \Transliterator::create($transId)) {
$transString = $transliterator->transliterate($string);
} else {
$transString = static::toAscii($string);

View File

@@ -92,7 +92,7 @@ class Lorem extends Base
$words = static::words($nbWords);
$words[0] = ucwords($words[0]);
return implode($words, ' ') . '.';
return implode(' ', $words) . '.';
}
/**
@@ -131,7 +131,7 @@ class Lorem extends Base
$nbSentences = self::randomizeNbElements($nbSentences);
}
return implode(static::sentences($nbSentences), ' ');
return implode(' ', static::sentences($nbSentences));
}
/**
@@ -193,7 +193,7 @@ class Lorem extends Base
$text[count($text) - 1] .= '.';
}
return implode($text, '');
return implode('', $text);
}
protected static function randomizeNbElements($nbElements)

View File

@@ -61,28 +61,28 @@ class Miscellaneous extends Base
'AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR',
'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE',
'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ',
'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD',
'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR',
'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM',
'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI',
'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF',
'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS',
'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU',
'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT',
'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN',
'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK',
'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME',
'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ',
'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA',
'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU',
'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM',
'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS',
'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI',
'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV',
'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK',
'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA',
'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI',
'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW',
'BR', 'BS', 'BT', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF',
'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU',
'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO',
'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ',
'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG',
'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT',
'GU', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE',
'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM',
'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR',
'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS',
'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG',
'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS',
'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE',
'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM',
'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR',
'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW',
'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK',
'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY',
'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM',
'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM',
'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU',
'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW',
);
/**
@@ -202,7 +202,7 @@ class Miscellaneous extends Base
/**
* @link https://en.wikipedia.org/wiki/ISO_4217
* On date of 2017-07-07
* On date of 2019-09-27
*
* With the following exceptions:
* SVC has been replaced by the USD in 2001: https://en.wikipedia.org/wiki/Salvadoran_col%C3%B3n
@@ -218,12 +218,12 @@ class Miscellaneous extends Base
'ILS', 'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS',
'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR',
'LRD', 'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP',
'MRO', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO',
'MRU', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO',
'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN',
'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG',
'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SRD', 'SSP', 'STD', 'SYP', 'SZL',
'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SRD', 'SSP', 'STN', 'SYP', 'SZL',
'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TWD', 'TZS', 'UAH',
'UGX', 'USD', 'UYU', 'UZS', 'VEF', 'VND', 'VUV', 'WST', 'XAF', 'XCD',
'UGX', 'USD', 'UYU', 'UZS', 'VES', 'VND', 'VUV', 'WST', 'XAF', 'XCD',
'XOF', 'XPF', 'YER', 'ZAR', 'ZMW',
);

View File

@@ -21,7 +21,7 @@ abstract class Text extends Base
* @example 'Alice, swallowing down her flamingo, and began by taking the little golden key'
* @param integer $maxNbChars Maximum number of characters the text should contain (minimum: 10)
* @param integer $indexSize Determines how many words are considered for the generation of the next word.
* The minimum is 1, and it produces the higher level of randomness, although the
* The minimum is 1, and it produces a higher level of randomness, although the
* generated text usually doesn't make sense. Higher index sizes (up to 5)
* produce more correct text, at the price of less randomness.
* @return string

View File

@@ -10,7 +10,8 @@ class Uuid extends Base
*/
public static function uuid()
{
// fix for compatibility with 32bit architecture; seed range restricted to 62bit
// fix for compatibility with 32bit architecture; each mt_rand call is restricted to 32bit
// two such calls will cause 64bits of randomness regardless of architecture
$seed = mt_rand(0, 2147483647) . '#' . mt_rand(0, 2147483647);
// Hash the seed and convert to a byte array

View File

@@ -45,7 +45,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -58,6 +58,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -47,7 +47,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -60,7 +60,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**

View File

@@ -24,7 +24,7 @@ class Payment extends \Faker\Provider\Payment
*/
public static function vat($spacedNationalPrefix = true)
{
$prefix = ($spacedNationalPrefix) ? "AT U" : "ATU";
$prefix = $spacedNationalPrefix ? "AT U" : "ATU";
return sprintf("%s%d", $prefix, self::randomNumber(8, true));
}

View File

@@ -31,7 +31,7 @@ class Payment extends \Faker\Provider\Payment
*/
public static function vat($spacedNationalPrefix = true)
{
$prefix = ($spacedNationalPrefix) ? "BG " : "BG";
$prefix = $spacedNationalPrefix ? "BG " : "BG";
return sprintf(
"%s%d%d",

View File

@@ -13,7 +13,18 @@ class Address extends \Faker\Provider\Address
'gasse', 'platz', 'ring', 'straße', 'weg',
);
protected static $postcode = array('####');
// As per https://en.wikipedia.org/wiki/List_of_postal_codes_in_Austria (@todo implement more strict postal code values according to wikipedia)
protected static $postcode = array(
'1###',
'2###',
'3###',
'4###',
'5###',
'6###',
'7###',
'8###',
'9###',
);
protected static $cityNames = array(
'Allentsteig', 'Altheim', 'Althofen', 'Amstetten', 'Ansfelden', 'Attnang-Puchheim',

View File

@@ -86,4 +86,32 @@ class Person extends \Faker\Provider\de_DE\Person
'Wagner', 'Walker', 'Walser', 'Weber', 'Wehrli', 'Weibel', 'Weiss', 'Wenger', 'Wicki', 'Widmer', 'Willi', 'Wirth', 'Wirz', 'Wittwer', 'Wolf', 'Wyss', 'Wüthrich',
'Zaugg', 'Zbinden', 'Zehnder', 'Ziegler', 'Zimmermann', 'Zwahlen', 'Zürcher',
);
/**
* Generates a valid random AVS13 (swiss social security) number
*
* This function acts as a localized alias for the function defined in the
* fr_CH provider. In the german-speaking part of Switzerland, the AVS13
* number is generally known as AHV13.
*
* @see \Faker\Provider\fr_CH\Person::avs13()
* @return string
*/
public static function ahv13()
{
return \Faker\Provider\fr_CH\Person::avs13();
}
/**
* Generates a valid random AVS13 (swiss social security) number
*
* This function acts as an alias for the function defined in the fr_CH provider.
*
* @see \Faker\Provider\fr_CH\Person::avs13()
* @return string
*/
public static function avs13()
{
return \Faker\Provider\fr_CH\Person::avs13();
}
}

View File

@@ -4,7 +4,7 @@ namespace Faker\Provider\de_DE;
class Address extends \Faker\Provider\Address
{
protected static $buildingNumber = array('###', '##', '#', '#/#', '##[abc]', '#[abc]');
protected static $buildingNumber = array('%##', '%#', '%', '%/%', '%#[abc]', '%[abc]');
protected static $streetSuffixLong = array(
'Gasse', 'Platz', 'Ring', 'Straße', 'Weg', 'Allee'

View File

@@ -11,5 +11,14 @@ class Company extends \Faker\Provider\Company
'{{lastName}}',
);
/**
* @link http://www.personalseite.de/information/titel.htm
*/
protected static $jobTitleFormat = array(
'Abteilungsdirektor', 'Arbeitsdirektor', 'Aufsichtsrat', 'Beirat', 'Bereichsleiter', 'Betriebsleiter', 'Finanzvorstand', 'Geschäftsführender Gesellschafter', 'Geschäftsführer', 'Gesellschafter',
'Handlungsbevollmächtigter', 'Kaufmännischer Vorstand', 'Leiter Rechtsabteilung', 'Mitglied des Aufsichtsrats', 'Personalleiter', 'Prokurist', 'Sellvertretender Vorsitzender des Vorstandes',
'Vorsitzender der Geschäftsführung', 'Vorsitzender des Aufsichtsrats', 'Vorsitzender des Vorstandes', 'Vorstand Personal', 'Vorstand Technik', 'Vorstand Vertrieb', 'Vorstandsmitglied', 'Werksleiter'
);
protected static $companySuffix = array('e.G.', 'e.V.', 'GbR', 'GbR', 'OHG mbH', 'GmbH & Co. OHG', 'AG & Co. OHG', 'GmbH', 'GmbH', 'GmbH', 'GmbH', 'AG', 'AG', 'AG', 'AG', 'KG', 'KG', 'KG', 'GmbH & Co. KG', 'GmbH & Co. KG', 'AG & Co. KG', 'Stiftung & Co. KG', 'KGaA', 'GmbH & Co. KGaA', 'AG & Co. KGaA', 'Stiftung & Co. KGaA');
}

View File

@@ -2,7 +2,7 @@
namespace Faker\Provider\en_CA;
class PhoneNumber extends \Faker\Provider\PhoneNumber
class PhoneNumber extends \Faker\Provider\en_US\PhoneNumber
{
protected static $formats = array(
'%##-###-####',

View File

@@ -31,9 +31,9 @@ class Address extends \Faker\Provider\Address
'L40 4LA','LU7 4SW','WV99 1RG','EC3P 3AY','CW5 6DY','CR2 8EN','PO11 0JY','IP33 9GD','WA3 3UR','WD3 3LY','CT6 7HL','TN15 8JE',
'L35 5JA','CF23 0EL','TR13 0DP','GL14 2NW','W1D 4PR','SY5 0AR','NP4 8LA','CH45 7RH','S35 4FX','PL20 6JB','NW1 6AB','AB41 7HB',
'S72 7HG','RG27 8PG','TA1 3TF','FK3 8EP','MK43 7LX','BT79 7AQ','L9 9BL','PE28 5US','PO4 8NU','WF4 3QZ','SE23 3RG','NN5 7AR',
'L15 6UE','CA4 9QG','RH9 8DR','KT18 5DN','AB11 5QE','L2 2TX','NE20 0RB','TF3 2BG','NW2 2SH','IG10 3JT','HR9 7GB','N10 3DS',
'PA3 4NH','W8 7EY','HP19 9BW','KA1 3TU','SE26 6JG','SL3 9LU','L38 9EB','M15 6QL','BN6 8DA','PE27 5PP','LS16 8EE','AB15 4YR',
'CM0 7HA','SY11 4LB','IG1 3TR','NE63 8EL','CR5 3DN','NW4 4XL','BL9 6QT','KT24 6NU','EH37 5TF','SO16 9RJ','B62 8RS','PL28 8QJ',
'L15 6UE','CA4 9QG','RH9 8DR','AB11 5QE','L2 2TX','NE20 0RB','TF3 2BG','NW2 2SH','IG10 3JT','HR9 7GB','N10 3DS',
'PA3 4NH','W8 7EY','HP19 9BW','KA1 3TU','SE26 6JG','SL3 9LU','L38 9EB','M15 6QL','BN6 8DA','PE27 5PP','LS16 8EE',
'CM0 7HA','SY11 4LB','IG1 3TR','NE63 8EL','CR5 3DN','NW4 4XL','BL9 6QT','KT24 6NU','EH37 5TF','SO16 9RJ','PL28 8QJ',
'E9 5LR','BR6 9XJ','M25 3BY','M20 1BT','SE18 7QX','DD1 2NF','NR31 8NS','BH31 6AF','TN23 5PR','TN12 9PU','HR8 2JJ','KT6 5DX',
'HX3 0NS','SN7 8NR','SY7 8AQ','CV8 1LS','NR34 9ET','BD23 3EU','YO11 3JN','BH11 9NE','CM3 3AE','KA3 7PR','DE15 9DU','PR8 9LB',
'GL53 7EN','OX15 4HW','TS19 9ES','G65 9BG','SE15 6FE','B37 7RA','BT51 3NQ','YO32 9SX','M50 3TU','LL14 5NR','PO35 5XS','W5 9TG',

View File

@@ -36,7 +36,7 @@ class Person extends \Faker\Provider\Person
'Kartik', 'Koushtubh', 'Kirti', 'Kushal', 'Kailash', 'Kalyan', 'Krishna', 'Kamlesh', 'Kalpit', 'Kabeer', 'Karim',
'Lalit', 'Lakshmi', 'Labeen',
'Mohan', 'Mukund', 'Mohan', 'Mohit', 'Manish', 'Moti', 'Mowgli', 'Mohanlal', 'Mitesh', 'Manoj', 'Monin', 'Mahmood', 'Malik', 'Mehul', 'Mustafa', 'Manpreet', 'Mukul', 'Munaf', 'Marlo',
'Nitin', 'Nayan', 'Naresh', 'Neerendra', 'Nirmal', 'Narayan', 'Nakul', 'Naval', 'Natwar', 'Naseer', 'Nazir', 'Nawab, ',
'Nitin', 'Nayan', 'Naresh', 'Neerendra', 'Nirmal', 'Narayan', 'Nakul', 'Naval', 'Natwar', 'Naseer', 'Nazir', 'Nawab',
'Parveen', 'Pravin', 'Pranab', 'Prabhat', 'Pradeep', 'Prasoon', 'Preet', 'Pranay', 'Parvez', 'Pirzada', 'Peter',
'Omar', 'Obaid', 'Owais',
'Qabeel', 'Qabool', 'Qadim',

View File

@@ -1,7 +1,5 @@
<?php
// data source
namespace Faker\Provider\en_NG;
class Person extends \Faker\Provider\Person
@@ -74,7 +72,7 @@ class Person extends \Faker\Provider\Person
'Funmilayo',
'Gbadamosi', 'Gbogboade', 'Grace',
'Habeeb', 'Hanifat', 'Isaac',
'Ismail', 'Isokun', 'Isreal', 'Iyalla',
'Ismail', 'Isokun', 'Israel', 'Iyalla',
'Jamiu', 'Jimoh', 'Joshua', 'Justina',
'Katherine', 'Kayode', 'Kayode', 'Kimberly',
'Ladega', 'Latifat', 'Lawal', 'Leonard',

View File

@@ -11,18 +11,15 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
protected static $zeroToEight = array(0, 1, 2, 3, 4, 5, 6, 7, 8);
protected static $oneToNine = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
protected static $oneToEight = array(1, 2, 3, 4, 5, 6, 7, 8);
protected static $mobileNumberFormats = array(
'{{internationalCodePrefix}}9{{zeroToEight}}## ####',
'{{internationalCodePrefix}} 9{{zeroToEight}}## ####',
'9{{zeroToEight}}## ####',
'{{internationalCodePrefix}}8{{oneToNine}}## ####',
'{{internationalCodePrefix}} 8{{oneToNine}}## ####',
'8{{oneToNine}}## ####',
'{{internationalCodePrefix}}7{{oneToNine}}## ####',
'{{internationalCodePrefix}} 7{{oneToNine}}## ####',
'7{{oneToNine}}## ####',
'{{internationalCodePrefix}}8{{oneToEight}}## ####',
'{{internationalCodePrefix}} 8{{oneToEight}}## ####',
'8{{oneToEight}}## ####',
);
protected static $fixedLineNumberFormats = array(
@@ -103,8 +100,8 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
return static::randomElement(static::$zeroToEight);
}
public function oneToNine()
public function oneToEight()
{
return static::randomElement(static::$oneToNine);
return static::randomElement(static::$oneToEight);
}
}

View File

@@ -84,7 +84,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -97,7 +97,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**

View File

@@ -3,7 +3,6 @@
namespace Faker\Provider\en_US;
class Payment extends \Faker\Provider\Payment
{
public function bankAccountNumber()

View File

@@ -48,7 +48,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -61,6 +61,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace Faker\Provider\es_ES;
class Color extends \Faker\Provider\Color
{
protected static $safeColorNames = array(
'amarillo',
'azul marino',
'azul',
'blanco',
'celeste',
'gris',
'lima',
'magenta',
'marrón',
'morado',
'negro',
'plata',
'turquesa',
'verde',
'verde oliva',
);
}

View File

@@ -62,7 +62,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -75,6 +75,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

File diff suppressed because one or more lines are too long

View File

@@ -15,6 +15,9 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
'9########',
'9##-##-####',
'9##-######',
);
protected static $mobileFormats = array(
'+34 6## ## ####',
'+34 6## ######',
'+34 6########',
@@ -26,4 +29,19 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
'6##-##-####',
'6##-######',
);
protected static $tollFreeFormats = array(
'900 ### ###',
'800 ### ###',
);
public static function mobileNumber()
{
return static::numerify(static::randomElement(static::$mobileFormats));
}
public static function tollFreeNumber()
{
return static::numerify(static::randomElement(static::$tollFreeFormats));
}
}

View File

@@ -48,7 +48,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -61,6 +61,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -0,0 +1,89 @@
<?php
namespace Faker\Provider\et_EE;
/**
* Class Person
* @package Faker\Provider\et_EE
* @author David Gegelija <code@imdavid.xyz>
*/
class Person extends \Faker\Provider\Person
{
/**
* @link https://news.err.ee/114745/most-popular-baby-names-of-2014
* @link https://www.stat.ee/public/apps/nimed/TOP
*/
protected static $firstNameMale = array(
"Andrei", "Aleksei", "Andres", "Alexander", "Aivar", "Aleksander", "Artur", "Andrus", "Ants", "Artjom", "Anatoli", "Anton", "Arvo", "Aare", "Ain", "Aleksandr",
"Dmitri", "Daniil", "Daniel",
"Eduard", "Erik", "Enn",
"Fjodorov",
"Gennadi",
"Heino", "Henri", "Hugo",
"Igor", "Indrek", "Ivan", "Ilja",
"Jüri", "Jaan", "Jevgeni", "Jaanus", "Janek", "Jaak",
"Kristjan", "Kalev", "Karl", "Kalle", "Kaido", "Kevin", "Konstantin", "Kaspar", "Kirill", "Kristo", "Kalju", "Kristofer",
"Lauri", "Lembit", "Laur",
"Martin", "Margus", "Maksim", "Marko", "Mati", "Meelis", "Mihhail", "Marek", "Mihkel", "Mart", "Madis", "Markus", "Mark", "Marten",
"Nikolai", "Nikita", "Nikolay",
"Oleg", "Oliver", "Oskar",
"Peeter", "Priit", "Pavel",
"Rein", "Roman", "Raivo", "Rasmus", "Raul", "Robert", "Riho", "Robin", "Romet",
"Sergei", "Sander", "Sergey", "Siim", "Silver", "Sebastian",
"Toomas", "Tarmo", "Tõnu", "Tiit", "Tanel", "Taavi", "Toivo", "Tõnis",
"Urmas", "Ülo",
"Vladimir", "Viktor", "Valeri", "Vello", "Vadim", "Vitali", "Vladislav", "Vjatšeslav", "Victor",
);
/**
* @link https://news.err.ee/114745/most-popular-baby-names-of-2014
* @link https://www.stat.ee/public/apps/nimed/TOP
*/
protected static $firstNameFemale = array(
"Aino", "Aleksandra", "Alisa", "Anastasia", "Anna", "Anne", "Anneli", "Anu", "Arina", "Annika", "Anastassia", "Alla", "Aili", "Alina", "Aime", "Antonina",
"Darja", "Diana",
"Elena", "Eliise", "Elisabeth", "Emma", "Ene", "Eve", "Eha", "Evi",
"Galina",
"Hanna", "Helen", "Heli", "Helle", "Helgi",
"Irina", "Inna", "Ingrid",
"Jekaterina", "Jelena", "Julia", "Jana",
"Kadri", "Katrin", "Kristi", "Kristiina", "Kristina", "Karin", "Kersti", "Kristel", "Kaja", "Külli", "Kätlin", "Krista",
"Laura", "Lenna", "Liisa", "Linda", "Lisandra", "Ljubov", "Ljudmila", "Liina", "Ljudmilla", "Larissa", "Liis", "Lea", "Laine", "Liudmila",
"Maie", "Malle", "Mare", "Maria", "Marina", "Marleen", "Marta", "Merike", "Mia", "Milana", "Mirtel", "Marika", "Merle", "Margit", "Milvi", "Maire", "Margarita", "Mari", "Maarja",
"Natalia", "Niina", "Nora", "Natalja", "Nadežda", "Nina",
"Olga", "Oksana",
"Piret", "Polina", "Pille",
"Reet", "Riina",
"Sandra", "Sirje", "Sofia", "Svetlana", "Silvi",
"Tamara", "Tatiana", "Tiina", "Tiiu", "Triin", "Tatjana", "Tiia",
"Ülle", "Urve",
"Valentina", "Viktoria", "Veera", "Veronika", "Vaike",
"Zinaida",
);
/**
* @link https://en.wikipedia.org/wiki/Category:Estonian-language_surnames
* @link https://www.stat.ee/public/apps/nimed/pere/TOP
*/
protected static $lastName = array(
"Aleksejev", "Andrejev", "Allik", "Aas", "Aleksandrov", "Aare", "Aarma", "Aas", "Aasmäe", "Aav", "Aavik", "Allik", "Alver", "Andrejeva", "Aleksejeva", "Aleksandrova", "Allik", "Aas",
"Bogdanova", "Bogdanov",
"Eenpalu", "Eskola",
"Fjodorov", "Fjodorov", "Fjodorova", "Fjodorova",
"Grigorjev", "Grigorjeva",
"Hunt", "Hein", "Hein", "Härma",
"Ivanov", "Ilves", "Ilves", "Ivanov", "Ivanova", "Ivanova", "Ilves",
"Jõgi", "Jakobson", "Jakovlev", "Jürgenson", "Jegorov", "Järv", "Johanson", "Järve", "Jakobson", "Jänes", "Järve", "Järvis", "Jõgi", "Jõgi", "Johanson", "Jürgenson", "Järv", "Jakovleva", "Jegorova", "Järve", "Jakobson",
"Kuzmina", "Kalda", "Kozlova", "Kruus", "Kask", "Kukk", "Kuznetsov", "Koppel", "Kaasik", "Kuusk", "Karu", "Kütt", "Kallas", "Kivi", "Kangur", "Kuusik", "Kõiv", "Kozlov", "Kull", "Kuzmin", "Kalda", "Kaaleste", "Kaasik", "Käbin", "Kalda", "Kaljulaid", "Kaljurand", "Kallas", "Kallaste", "Kangro", "Kangur", "Kapp", "Kärner", "Karu", "Kask", "Käsper", "Kass", "Keres", "Keskküla", "Kesküla", "Kikkas", "Kingsepp", "Kirs", "Kirsipuu", "Kivi", "Klavan", "Kõiv", "Kokk", "Kontaveit", "Koppel", "Korjus", "Kotkas", "Kreek", "Kross", "Kruus", "Kukk", "Kull", "Kütt", "Kuusik", "Kuusk", "Kuznetsov", "Kuznetsova", "Kask", "Kukk", "Kuznetsova", "Koppel", "Kaasik", "Kuusk", "Karu", "Kütt", "Kallas", "Kivi", "Kuusik", "Kangur", "Kõiv", "Kull",
"Luik", "Lepik", "Lepp", "Lõhmus", "Liiv", "Laur", "Leppik", "Lebedev", "Laas", "Laar", "Laht", "Lass", "Laur", "Laurits", "Lemsalu", "Lepik", "Lepmets", "Lepp", "Leppik", "Levandi", "Liiv", "Lill", "Lindmaa", "Linna", "Lipp", "Lippmaa", "Lõhmus", "Loo", "Lõoke", "Luik", "Luts", "Luik", "Lepik", "Lepp", "Lõhmus", "Laur", "Liiv", "Leppik", "Lebedeva", "Laas",
"Männik", "Mänd", "Mitt", "Makarova", "Mägi", "Mets", "Mihhailov", "Mölder", "Morozov", "Mitt", "Männik", "Mõttus", "Mänd", "Makarov", "Mägi", "Mälk", "Mänd", "Männik", "Margiste", "Mark", "Masing", "Mets", "Mihhailov", "Mihhailova", "Mölder", "Must", "Mägi", "Mets", "Mihhailova", "Mölder", "Morozova",
"Nikolajev", "Nõmm", "Nikitin", "Novikov", "Nõmmik", "Nurme", "Nurmsalu", "Nõmm", "Nikitina", "Nikolajeva",
"Orlova", "Orav", "Oja", "Ots", "Orav", "Orlov", "Oja", "Olesk", "Öpik", "Orav", "Ots", "Oja", "Ots",
"Petrov", "Pärn", "Põder", "Pavlov", "Popov", "Peterson", "Puusepp", "Paju", "Põld", "Pukk", "Paas", "Palm", "Pääsuke", "Padar", "Pärn", "Pavlov", "Pavlova", "Peebo", "Peetre", "Peterson", "Petrov", "Petrova", "Pihlak", "Piho", "Piip", "Põder", "Põld", "Popov", "Popova", "Poska", "Puhvel", "Pütsep", "Puusepp", "Petrova", "Pärn", "Pavlova", "Põder", "Peterson", "Popova", "Puusepp", "Paas", "Paju", "Pukk", "Parts", "Palm", "Põld",
"Romanova", "Rand", "Roos", "Rebane", "Raudsepp", "Raud", "Rand", "Roos", "Rätsep", "Raag", "Raud", "Raudsepp", "Rebane", "Reek", "Reinsalu", "Rooba", "Roolaid", "Rootare", "Rummo", "Rüütel", "Rüütli", "Rebane", "Raudsepp", "Raud",
"Saar", "Sepp", "Smirnov", "Stepanov", "Semjonov", "Sokolov", "Sild", "Sarapuu", "Saks", "Saar", "Salumäe", "Semjonov", "Sepp", "Sibul", "Siimar", "Simm", "Sirel", "Sisask", "Smirnov", "Smirnova", "Sokk", "Sokolov", "Soosaar", "Stepanov", "Stepanova", "Susi", "Saar", "Sepp", "Smirnova", "Stepanova", "Sokolova", "Saks", "Sarapuu", "Sild", "Semjonova",
"Tamme", "Tomson", "Tamm", "Teder", "Toom", "Tomson", "Tamme", "Talts", "Tamm", "Tamme", "Tarvas", "Teder", "Toom", "Toome", "Toots", "Tamm", "Teder", "Toom",
"Uibo", "Uibo",
"Vassiljev", "Vaher", "Volkov", "Valk", "Vaher", "Vahtra", "Vaino", "Vainola", "Välbe", "Valdma", "Väljas", "Valk", "Vassiljev", "Vassiljeva", "Vesik", "Veski", "Viiding", "Vitsut", "Võigemast", "Volkov", "Volkova", "Võsu", "Vassiljeva", "Vaher", "Volkova",
);
}

View File

@@ -134,4 +134,68 @@ class Person extends \Faker\Provider\Person
protected static $titleMale = array('آقای', 'استاد', 'دکتر', 'مهندس');
protected static $titleFemale = array('خانم', 'استاد', 'دکتر', 'مهندس');
/**
* This method returns a valid Iranian nationalCode
* @example '8075859741'
* @link https://fa.wikipedia.org/wiki/%DA%A9%D8%A7%D8%B1%D8%AA_%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C_%D9%85%D9%84%DB%8C#%D8%AD%D8%B3%D8%A7%D8%A8_%DA%A9%D8%B1%D8%AF%D9%86_%DA%A9%D8%AF_%DA%A9%D9%86%D8%AA%D8%B1%D9%84
* @return string
*/
public static function nationalCode()
{
$area = self::createAreaCode();
$core = self::createCoreCode();
$control = self::createControlCode($area, $core);
return sprintf("%03d%06d%01d", $area, $core, $control);
}
/**
* This method generates a 3-digit valid area code to be used in nationalCode
* @return int|string
*/
private static function createAreaCode()
{
$area = "000";
while ($area == "000") {
$area = static::numerify("###");
}
return $area;
}
/**
* This method randomly generates a 6-digit core code for nationalCode
* @return string
*/
private static function createCoreCode()
{
return static::numerify("######");
}
/**
* This method uses the Iranian nationalCode validation algorithm to generate a valid 10-digit code
* @param $area
* @param $core
* @link https://fa.wikipedia.org/wiki/%DA%A9%D8%A7%D8%B1%D8%AA_%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C_%D9%85%D9%84%DB%8C#%D8%AD%D8%B3%D8%A7%D8%A8_%DA%A9%D8%B1%D8%AF%D9%86_%DA%A9%D8%AF_%DA%A9%D9%86%D8%AA%D8%B1%D9%84
* @return int
*/
private static function createControlCode($area, $core)
{
$subNationalCodeString = $area . $core;
$sum = 0;
$count = 0;
for ($i = 10; $i > 1; $i--) {
$sum += $subNationalCodeString[$count] * ($i);
$count++;
}
if (($sum % 11) < 2) {
return $sum % 11;
}
return 11 - ($sum % 11);
}
}

View File

@@ -7,11 +7,40 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* @link https://fa.wikipedia.org/wiki/%D8%B4%D9%85%D8%A7%D8%B1%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_%D8%AA%D9%84%D9%81%D9%86_%D8%AF%D8%B1_%D8%A7%DB%8C%D8%B1%D8%A7%D9%86#.D8.AA.D9.84.D9.81.D9.86.E2.80.8C.D9.87.D8.A7.DB.8C_.D9.87.D9.85.D8.B1.D8.A7.D9.87
*/
protected static $formats = array(
'021########',
'026########',
'031########',
protected static $formats = array( // land line formts seprated by province
"011########", //Mazandaran
"013########", //Gilan
"017########", //Golestan
"021########", //Tehran
"023########", //Semnan
"024########", //Zanjan
"025########", //Qom
"026########", //Alborz
"028########", //Qazvin
"031########", //Isfahan
"034########", //Kerman
"035########", //Yazd
"038########", //Chaharmahal and Bakhtiari
"041########", //East Azerbaijan
"044########", //West Azerbaijan
"045########", //Ardabil
"051########", //Razavi Khorasan
"054########", //Sistan and Baluchestan
"056########", //South Khorasan
"058########", //North Khorasan
"061########", //Khuzestan
"066########", //Lorestan
"071########", //Fars
"074########", //Kohgiluyeh and Boyer-Ahmad
"076########", //Hormozgan
"077########", //Bushehr
"081########", //Hamadan
"083########", //Kermanshah
"084########", //Ilam
"086########", //Markazi
"087########", //Kurdistan
);
protected static $mobileNumberPrefixes = array(
'0910#######',//mci
'0911#######',
@@ -37,7 +66,7 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
'0920#######',
'0921#######',
'0937#######',
'0937#######',
'0990#######', // MCI
);
public static function mobileNumber()
{

View File

@@ -46,7 +46,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -59,6 +59,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -32,7 +32,7 @@ class Payment extends \Faker\Provider\Payment
*/
public static function vat($spacedNationalPrefix = true)
{
$prefix = ($spacedNationalPrefix) ? "BE " : "BE";
$prefix = $spacedNationalPrefix ? "BE " : "BE";
return sprintf("%s0%d", $prefix, self::randomNumber(9, true));
}

File diff suppressed because it is too large Load Diff

View File

@@ -87,4 +87,29 @@ class Person extends \Faker\Provider\fr_FR\Person
'Waeber', 'Weber', 'Wenger', 'Widmer', 'Wyss',
'Zbinden', 'Zimmermann',
);
/**
* Generates a valid random AVS13 (swiss social security) number
*
* This function will generate a valid random AVS13 number and return it
* as a formatted string.
*
* @see https://www.zas.admin.ch/zas/fr/home/partenaires-et-institutions-/navs13.html
* @return string
*/
public static function avs13()
{
$p = array(
756,
self::numerify('####'),
self::numerify('####'),
self::numerify('#'),
);
$checksum = \Faker\Calculator\Ean::checksum(implode($p));
$avs = sprintf("%s.%s.%s.%s%s", $p[0], $p[1], $p[2], $p[3], $checksum);
return $avs;
}
}

View File

@@ -36,7 +36,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -49,6 +49,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace Faker\Provider\id_ID;
class Color extends \Faker\Provider\Color
{
/**
* @link https://id.wikipedia.org/wiki/Warna
* @link https://id.wikipedia.org/wiki/Kategori:Warna
* @link https://id.wikipedia.org/wiki/Warna_tersier
**/
protected static $safeColorNames = array('abu-abu', 'biru', 'biru dongker', 'biru laut', 'cokelat',
'emas', 'hijau', 'hitam', 'jingga', 'krem', 'kuning', 'magenta', 'mawar', 'merah', 'merah jambu',
'merah marun', 'nila', 'perak', 'putih', 'sepia', 'teal', 'toska', 'ungu', 'violet', 'zaitun'
);
/**
* @link https://id.wikipedia.org/wiki/Daftar_warna
**/
protected static $allColorNames = array(
'Abu-Abu', 'Abu-Abu Tua', 'Abu-Abu Muda', 'Abu-Abu Kecokelatan', 'Almond',
'Biru', 'Biru Baja', 'Biru Dongker', 'Biru Keabu-abuan', 'Biru Kehijauan', 'Biru Keunguan', 'Biru Laut', 'Biru Laut Gelap', 'Biru Laut Terang', 'Biru Langit', 'Biru Langit Muda', 'Biru Langit Tua', 'Biru Malam', 'Biru Muda', 'Biru Nilam', 'Biru Pucat', 'Biru Terang', 'Biru Tua',
'Chiffon', 'Cokelat', 'Cokelat Gandum', 'Cokelat Keemasan', 'Cokelat Kekuningan', 'Cokelat Kemerahan', 'Cokelat Tua',
'Delima',
'Emas',
'Hijau Abu-Abu', 'Hijau Botol', 'Hijau Cerah', 'Hijah Gelap', 'Hijau Hutan', 'Hijau Kebiruan', 'Hijau Kekuningan', 'Hijau Laut', 'Hijau Laut Gelap', 'Hijau Laut Terang', 'Hijau Lemon', 'Hijau Lumut', 'Hijau Muda', 'Hijau Muda Kekuningan', 'Hijau Neon', 'Hijau Pucat', 'Hijau Rumput', 'Hijau Tua', 'Hijau Zamrud', 'Hitam', 'Hitam Arang', 'Hitam Pekat',
'Jingga', 'Jingga Labu', 'Jingga Muda', 'Jingga Tua',
'Khaki', 'Khaki Tua', 'Koral', 'Koral Terang', 'Krem', 'Krimson', 'Kuning', 'Kuning Aprikot', 'Kuning Gelap', 'Kuning Jingga', 'Kuning Kehijauan', 'Kuning Kehijauan Pucat', 'Kuning Kecokelatan Tua', 'Kuning Lemon', 'Kuning Muda', 'Kuning Neon', 'Kuning Pucat', 'Kuning Terang', 'Kuning Sawo',
'Lavender', 'Lemon', 'Lemon Chiffon',
'Magenta', 'Magenta Gelap', 'Mawar', 'Merah', 'Merah Bata', 'Merah Indian', 'Merah Kekuning-Kuningan', 'Merah Keungu-Unguan', 'Merah Muda', 'Merah Muda Dakam', 'Merah Muda Kekuningan', 'Merah Muda Keunguan', 'Merah Muda Keunguan Pudar', 'Merah Muda Panas', 'Merah Muda Terang', 'Merah Oranye', 'Merah Tomat', 'Merah Tua', 'Merah Tua Terang', 'Moka',
'Nila',
'Oranye', 'Oranye Pepaya',
'Pastel', 'Peach', 'Pelangi', 'Perak', 'Plum', 'Putih', 'Putih Gading', 'Putih Gandum', 'Putih Salju', 'Putih Terang',
'Rambut Jagung',
'Salmon', 'Salmon Gelap', 'Salmon Terang', 'Sawo', 'Sawo Matang',
'Tembaga', 'Tomat',
'Ungu', 'Ungu Gelap', 'Ungu Kebiruan', 'Ungu Kecokelatan', 'Ungu Lembayung', 'Ungu Lembayung Muda', 'Ungu Muda', 'Ungu Terong',
'Zaitun', 'Zaitun Hijau Gelap'
);
}

View File

@@ -20,6 +20,6 @@ class Internet extends \Faker\Provider\Internet
protected static $tld = array(
'com', 'net', 'org', 'asia', 'tv', 'biz', 'info', 'in', 'name', 'co',
'ac.id', 'sch.id', 'go.id', 'mil.id', 'co.id', 'or.id', 'web.id',
'my.id', 'biz.id', 'desa.id',
'my.id', 'biz.id', 'desa.id', 'id',
);
}

View File

@@ -194,6 +194,44 @@ class Person extends \Faker\Provider\Person
protected static $titleFemale = array('dr.', 'drg.', 'Dr.', 'Hj.');
/**
* @link http://informasipedia.com/wilayah-indonesia/daftar-kabupaten-kota-di-indonesia/
*/
protected static $birthPlaceCode = array(
'1101', '1102', '1103', '1104', '1105', '1106', '1107', '1108', '1109', '1110', '1111', '1112', '1113', '1114', '1115', '1116',
'1117', '1118', '1171', '1172', '1173', '1174', '1175', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209',
'1210', '1211', '1212', '1213', '1214', '1215', '1216', '1217', '1218', '1219', '1220', '1221', '1222', '1223', '1224', '1225',
'1271', '1272', '1273', '1274', '1275', '1276', '1277', '1278', '1301', '1302', '1303', '1304', '1305', '1306', '1307', '1308',
'1309', '1310', '1311', '1312', '1371', '1372', '1373', '1374', '1375', '1376', '1377', '1401', '1402', '1403', '1404', '1405',
'1406', '1407', '1408', '1409', '1410', '1471', '1472', '1501', '1502', '1503', '1504', '1505', '1506', '1507', '1508', '1509',
'1571', '1572', '1601', '1602', '1603', '1604', '1605', '1606', '1607', '1608', '1609', '1610', '1611', '1612', '1613', '1671',
'1672', '1673', '1674', '1701', '1702', '1703', '1704', '1705', '1706', '1707', '1708', '1709', '1771', '1801', '1802', '1803',
'1804', '1805', '1806', '1807', '1808', '1809', '1810', '1811', '1812', '1813', '1871', '1872', '1901', '1902', '1903', '1904',
'1905', '1906', '1971', '2101', '2102', '2103', '2104', '2105', '2171', '2172', '3101', '3171', '3172', '3173', '3174', '3175',
'3201', '3202', '3203', '3204', '3205', '3206', '3207', '3208', '3209', '3210', '3211', '3212', '3213', '3214', '3215', '3216',
'3217', '3218', '3271', '3272', '3273', '3274', '3275', '3276', '3277', '3278', '3279', '3301', '3302', '3303', '3304', '3305',
'3306', '3307', '3308', '3309', '3310', '3311', '3312', '3313', '3314', '3315', '3316', '3317', '3318', '3319', '3320', '3321',
'3322', '3323', '3324', '3325', '3326', '3327', '3328', '3329', '3371', '3372', '3373', '3374', '3375', '3376', '3401', '3402',
'3403', '3404', '3471', '3501', '3502', '3503', '3504', '3505', '3506', '3507', '3508', '3509', '3510', '3511', '3512', '3513',
'3514', '3515', '3516', '3517', '3518', '3519', '3520', '3521', '3522', '3523', '3524', '3525', '3526', '3527', '3528', '3529',
'3571', '3572', '3573', '3574', '3575', '3576', '3577', '3578', '3579', '3601', '3602', '3603', '3604', '3671', '3672', '3673',
'3674', '5101', '5102', '5103', '5104', '5105', '5106', '5107', '5108', '5171', '5201', '5202', '5203', '5204', '5205', '5206',
'5207', '5208', '5271', '5272', '5301', '5302', '5303', '5304', '5305', '5306', '5307', '5308', '5309', '5310', '5311', '5312',
'5313', '5314', '5315', '5316', '5317', '5318', '5319', '5320', '5321', '5371', '6101', '6102', '6103', '6104', '6105', '6106',
'6107', '6108', '6109', '6110', '6111', '6112', '6171', '6172', '6201', '6202', '6203', '6204', '6205', '6206', '6207', '6208',
'6209', '6210', '6211', '6212', '6213', '6271', '6301', '6302', '6303', '6304', '6305', '6306', '6307', '6308', '6309', '6310',
'6311', '6371', '6401', '6402', '6403', '6407', '6408', '6409', '6411', '6471', '6472', '6474', '6501', '6502', '6503', '6504',
'6571', '7101', '7102', '7103', '7104', '7105', '7106', '7107', '7108', '7109', '7110', '7111', '7171', '7201', '7202', '7203',
'7204', '7205', '7206', '7207', '7208', '7209', '7210', '7211', '7212', '7271', '7301', '7302', '7303', '7304', '7305', '7306',
'7307', '7308', '7309', '7310', '7311', '7312', '7313', '7314', '7315', '7316', '7317', '7318', '7322', '7324', '7326', '7371',
'7372', '7373', '7401', '7402', '7403', '7404', '7405', '7406', '7407', '7408', '7409', '7410', '7411', '7412', '7413', '7414',
'7415', '7471', '7472', '7501', '7502', '7503', '7504', '7505', '7571', '7601', '7602', '7603', '7604', '7605', '7606', '8101',
'8102', '8103', '8104', '8105', '8106', '8107', '8108', '8109', '8171', '8172', '8201', '8202', '8203', '8204', '8205', '8206',
'8207', '8208', '8271', '8272', '9101', '9102', '9103', '9104', '9105', '9106', '9107', '9108', '9109', '9110', '9111', '9112',
'9113', '9114', '9115', '9116', '9117', '9118', '9119', '9120', '9121', '9122', '9123', '9124', '9125', '9126', '9127', '9128',
'9171', '9201', '9202', '9203', '9204', '9205', '9206', '9207', '9208', '9209', '9210', '9211', '9212', '9271',
);
/**
* For academic title
* @link http://id.wikipedia.org/wiki/Gelar_akademik
*/
@@ -266,7 +304,8 @@ class Person extends \Faker\Provider\Person
public function nik($gender = null, $birthDate = null)
{
# generate first numbers (region data)
$nik = $this->generator->numerify('######');
$nik = $this->birthPlaceCode();
$nik .= $this->generator->numerify('##');
if (!$birthDate) {
$birthDate = $this->generator->dateTimeBetween();
@@ -286,8 +325,19 @@ class Person extends \Faker\Provider\Person
$nik .= $birthDate->format('my');
# add last random digits
$nik.= $this->generator->numerify('####');
$nik .= $this->generator->numerify('####');
return $nik;
}
/**
* Generates birth place code for NIK
*
* @link https://id.wikipedia.org/wiki/Nomor_Induk_Kependudukan
* @link http://informasipedia.com/wilayah-indonesia/daftar-kabupaten-kota-di-indonesia/
*/
protected function birthPlaceCode()
{
return static::randomElement(static::$birthPlaceCode);
}
}

View File

@@ -85,4 +85,17 @@ class Person extends \Faker\Provider\it_IT\Person
'Weber', 'Widmer',
'Zanetti', 'Zanini', 'Zimmermann',
);
/**
* Generates a valid random AVS13 (swiss social security) number
*
* This function acts as an alias for the function defined in the fr_CH provider.
*
* @see \Faker\Provider\fr_CH\Person::avs13()
* @return string
*/
public static function avs13()
{
return \Faker\Provider\fr_CH\Person::avs13();
}
}

View File

@@ -48,7 +48,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -61,7 +61,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**

View File

@@ -11,7 +11,7 @@ class Address extends \Faker\Provider\Address
'デンマーク', 'ジブチ共和国', 'ドミニカ国', 'ドミニカ共和国',
'エクアドル', 'エジプト', 'エルサルバドル', '赤道ギニア共和国', 'エリトリア', 'エストニア', 'エチオピア',
'フェロー諸島', 'フォークランド諸島', 'フィジー共和国', 'フィンランド', 'フランス', 'フランス領ギアナ', 'フランス領ポリネシア', 'フランス領極南諸島',
'ガボン', 'ガンビア', 'グルジア', 'ドイツ', 'ガーナ', 'ジブラルタル', 'ギリシャ', 'グリーンランド', 'グレナダ', 'グアドループ', 'グアム', 'グアテマラ', 'ガーンジー', 'ギニア', 'ギニアビサウ', 'ガイアナ',
'ガボン', 'ガンビア', 'ジョージア', 'ドイツ', 'ガーナ', 'ジブラルタル', 'ギリシャ', 'グリーンランド', 'グレナダ', 'グアドループ', 'グアム', 'グアテマラ', 'ガーンジー', 'ギニア', 'ギニアビサウ', 'ガイアナ',
'ハイチ', 'ハード島とマクドナルド諸島', 'バチカン市国', 'ホンジュラス', '香港', 'ハンガリー',
'アイスランド', 'インド', 'インドネシア', 'イラン', 'イラク', 'アイルランド共和国', 'マン島', 'イスラエル', 'イタリア',
'ジャマイカ', '日本', 'ジャージー島', 'ヨルダン',

View File

@@ -598,7 +598,7 @@ EOT;
protected static function explode($text)
{
$chars = array();
foreach (preg_split('//u', preg_replace('/\s+/', '', $text)) as $char) {
foreach (preg_split('//u', preg_replace('/\s+/u', '', $text)) as $char) {
if ($char !== '') {
$chars[] = $char;
}

View File

@@ -2,7 +2,6 @@
namespace Faker\Provider\ka_GE;
class Company extends \Faker\Provider\Company
{
protected static $companyPrefixes = array(

View File

@@ -13,6 +13,11 @@ class Person extends \Faker\Provider\Person
'{{firstNameFemale}} {{lastNameFemale}}',
);
protected static $lastNameFormat = array(
'{{firstNameMale}}',
'{{firstNameFemale}}',
);
protected static $titleMale = array('p.', 'ponas');
protected static $titleFemale = array('p.', 'ponia', 'panelė');
@@ -247,6 +252,22 @@ class Person extends \Faker\Provider\Person
'Petrauskaitė', 'Vasiliauskaitė', 'Butkutė', 'Pociūtė', 'Lukoševičiūtė', 'Balčiūnaitė', 'Kavaliauskaitė'
);
/**
* @param string|null $gender 'male', 'female' or null for any
* @example 'Doe'
* @return string
*/
public function lastName($gender = null)
{
if ($gender === static::GENDER_MALE) {
return static::lastNameMale();
} elseif ($gender === static::GENDER_FEMALE) {
return static::lastNameFemale();
}
return $this->generator->parse(static::randomElement(static::$lastNameFormat));
}
/**
* Return male last name
* @return string
@@ -302,11 +323,11 @@ class Person extends \Faker\Provider\Person
$birthdate = \Faker\Provider\DateTime::dateTimeThisCentury();
}
$genderNumber = ($gender == 'male') ? (int) 1 : (int) 0;
$genderNumber = ($gender == 'male') ? 1 : 0;
$firstNumber = (int) floor($birthdate->format('Y') / 100) * 2 - 34 - $genderNumber;
$datePart = $birthdate->format('ymd');
$randomDigits = (string) ( ! $randomNumber || strlen($randomNumber < 3)) ? static::numerify('###') : substr($randomNumber, 0, 3);
$randomDigits = (string) ( ! $randomNumber || strlen($randomNumber) < 3) ? static::numerify('###') : substr($randomNumber, 0, 3);
$partOfPerosnalCode = $firstNumber . $datePart . $randomDigits;
$sum = self::calculateSum($partOfPerosnalCode, 1);
@@ -318,7 +339,7 @@ class Person extends \Faker\Provider\Person
}
$sum = self::calculateSum($partOfPerosnalCode, 2);
$liekana = (int) $sum % 11;
$liekana = $sum % 11;
$lastNumber = ($liekana !== 10) ? $liekana : 0;
return $firstNumber . $datePart . $randomDigits . $lastNumber;

View File

@@ -72,7 +72,7 @@ class Person extends \Faker\Provider\Person
/**
* Generate an identification number.
*
*
* @example ИЙ92011412
*/
public function idNumber()

View File

@@ -67,7 +67,7 @@ class Address extends \Faker\Provider\Address
/**
* 'Jalan' & 'Jln' are more frequently used than 'Lorong'
*
*
* @link https://en.wikipedia.org/wiki/List_of_roads_in_Kuala_Lumpur#Standard_translations
*/
protected static $streetPrefix = array(
@@ -117,7 +117,7 @@ class Address extends \Faker\Provider\Address
/**
* 'Bandar' and 'Taman' are the most common township prefix
*
*
* @link https://en.wikipedia.org/wiki/Template:Greater_Kuala_Lumpur > Townships
* @link https://en.wikipedia.org/wiki/Template:Johor > Townships
* @link https://en.wikipedia.org/wiki/Template:Kedah > Townships
@@ -497,9 +497,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a building prefix
*
*
* @example 'No.'
*
*
* @return @string
*/
public static function buildingPrefix()
@@ -509,9 +509,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a building number
*
*
* @example '123'
*
*
* @return @string
*/
public static function buildingNumber()
@@ -521,7 +521,7 @@ class Address extends \Faker\Provider\Address
/**
* Return a street prefix
*
*
* @example 'Jalan'
*/
public function streetPrefix()
@@ -533,9 +533,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a complete streename
*
*
* @example 'Jalan Utama 7'
*
*
* @return @string
*/
public function streetName()
@@ -547,9 +547,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a randown township
*
*
* @example Taman Bahagia
*
*
* @return @string
*/
public function township()
@@ -561,9 +561,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a township prefix abbreviation
*
*
* @example 'USJ'
*
*
* @return @string
*/
public function townshipPrefixAbbr()
@@ -573,9 +573,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a township prefix
*
*
* @example 'Taman'
*
*
* @return @string
*/
public function townshipPrefix()
@@ -585,7 +585,7 @@ class Address extends \Faker\Provider\Address
/**
* Return a township suffix
*
*
* @example 'Bahagia'
*/
public function townshipSuffix()
@@ -595,12 +595,12 @@ class Address extends \Faker\Provider\Address
/**
* Return a postcode based on state
*
*
* @example '55100'
* @link https://en.wikipedia.org/wiki/Postal_codes_in_Malaysia#States
*
*
* @param null|string $state 'state' or null
*
*
* @return @string
*/
public static function postcode($state = null)
@@ -665,9 +665,9 @@ class Address extends \Faker\Provider\Address
/**
* Return the complete town address with matching postcode and state
*
*
* @example 55100 Bukit Bintang, Kuala Lumpur
*
*
* @return @string
*/
public function townState()
@@ -682,9 +682,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a random city (town)
*
*
* @example 'Ampang'
*
*
* @return @string
*/
public function city()
@@ -695,9 +695,9 @@ class Address extends \Faker\Provider\Address
/**
* Return a random state
*
*
* @example 'Johor'
*
*
* @return @string
*/
public function state()

View File

@@ -13,7 +13,7 @@ class Company extends \Faker\Provider\Company
/**
* There are more Private Limited Companies(Sdn Bhd) than Public Listed Companies(Berhad)
*
*
* @link http://www.risscorporateservices.com/types-of-business-entities.html
*/
protected static $companySuffix = array(
@@ -85,7 +85,7 @@ class Company extends \Faker\Provider\Company
/**
* Return a random company name
*
*
* @example 'AirAsia'
*/
public static function companyName()
@@ -95,7 +95,7 @@ class Company extends \Faker\Provider\Company
/**
* Return a random industry
*
*
* @example 'Automobil'
*/
public static function industry()

View File

@@ -22,7 +22,7 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Some alphabet has higher frequency that coincides with the current number
* of registrations. E.g. W = Wilayah Persekutuan
*
*
* @link https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format
*/
protected static $peninsularPrefix = array(
@@ -71,7 +71,7 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Chances of having an empty alphabet will be 1/24
*
*
* @link https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format
*/
protected static $validAlphabets = array(
@@ -83,9 +83,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return a valid Malaysia JPJ(Road Transport Department) vehicle licence plate number
*
*
* @example 'WKN 2368'
*
*
* @return @string
*/
public function jpjNumberPlate()
@@ -97,9 +97,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return Peninsular prefix alphabet
*
*
* @example 'W'
*
*
* @return @string
*/
public static function peninsularPrefix()
@@ -109,9 +109,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return Sarawak state prefix alphabet
*
*
* @example 'QA'
*
*
* @return @string
*/
public static function sarawakPrefix()
@@ -121,9 +121,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return Sabah state prefix alphabet
*
*
* @example 'SA'
*
*
* @return @string
*/
public static function sabahPrefix()
@@ -133,9 +133,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return specialty licence plate prefix
*
*
* @example 'G1M'
*
*
* @return @string
*/
public static function specialPrefix()
@@ -145,9 +145,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return a valid license plate alphabet
*
*
* @example 'A'
*
*
* @return @string
*/
public static function validAlphabet()
@@ -157,9 +157,9 @@ class Miscellaneous extends \Faker\Provider\Miscellaneous
/**
* Return a valid number sequence between 1 and 9999
*
*
* @example '1234'
*
*
* @return @integer
*/
public static function numberSequence()

View File

@@ -144,9 +144,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Bank
*
*
* @example 'Maybank'
*
*
* @return @string
*/
public function bank()
@@ -158,9 +158,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Bank account number
*
*
* @example '1234567890123456'
*
*
* @return @string
*/
public function bankAccountNumber()
@@ -172,9 +172,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Local Bank
*
*
* @example 'Public Bank'
*
*
* @return @string
*/
public static function localBank()
@@ -184,9 +184,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Foreign Bank
*
*
* @example 'Citibank Berhad'
*
*
* @return @string
*/
public static function foreignBank()
@@ -196,9 +196,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Government Bank
*
*
* @example 'Bank Simpanan Nasional'
*
*
* @return @string
*/
public static function governmentBank()
@@ -208,9 +208,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian insurance company
*
*
* @example 'AIA Malaysia'
*
*
* @return @string
*/
public static function insurance()
@@ -220,9 +220,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return a Malaysian Bank SWIFT Code
*
*
* @example 'MBBEMYKLXXX'
*
*
* @return @string
*/
public static function swiftCode()
@@ -232,9 +232,9 @@ class Payment extends \Faker\Provider\Payment
/**
* Return the Malaysian currency symbol
*
*
* @example 'RM'
*
*
* @return @string
*/
public static function currencySymbol()

View File

@@ -160,12 +160,12 @@ class Person extends \Faker\Provider\Person
/**
* Note: The empty elements are for names without the title, chances increase by number of empty elements.
*
*
* @link https://en.wikipedia.org/wiki/Muhammad_(name)
*/
protected static $muhammadName = array('', '', '', '', 'Mohamad ','Mohamed ','Mohammad ','Mohammed ','Muhamad ','Muhamed ','Muhammad ','Muhammed ','Muhammet ','Mohd ');
/**
*
*
* @link https://en.wikipedia.org/wiki/Noor_(name)
*/
protected static $nurName = array('', '', '', '', 'Noor ', 'Nor ', 'Nur ', 'Nur ', 'Nur ', 'Nurul ','Nuur ');
@@ -183,10 +183,10 @@ class Person extends \Faker\Provider\Person
/**
* Chinese family name or surname
*
*
* @link https://en.wikipedia.org/wiki/List_of_common_Chinese_surnames
* @link https://en.wikipedia.org/wiki/Hundred_Family_Surnames
*
*
*/
protected static $lastNameChinese = array(
'An','Ang','Au','Au-Yong','Aun','Aw',
@@ -218,7 +218,7 @@ class Person extends \Faker\Provider\Person
/**
* Chinese second character
*
*
* @link https://en.wikipedia.org/wiki/Chinese_given_name
* @link https://en.wikipedia.org/wiki/List_of_Malaysians_of_Chinese_descent
* @link https://en.wikipedia.org/wiki/Category:Malaysian_people_of_Cantonese_descent
@@ -276,7 +276,7 @@ class Person extends \Faker\Provider\Person
/**
* Chinese male third character
*
*
* @link https://en.wikipedia.org/wiki/Chinese_given_name
* @link https://en.wikipedia.org/wiki/List_of_Malaysians_of_Chinese_descent
* @link https://en.wikipedia.org/wiki/Category:Malaysian_people_of_Cantonese_descent
@@ -332,7 +332,7 @@ class Person extends \Faker\Provider\Person
/**
* Chinese female third character
*
*
* @link https://en.wikipedia.org/wiki/Chinese_given_name
* @link https://en.wikipedia.org/wiki/List_of_Malaysians_of_Chinese_descent
* @link https://en.wikipedia.org/wiki/Category:Malaysian_people_of_Cantonese_descent
@@ -542,9 +542,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay male first name
*
*
* @example 'Ahmad'
*
*
* @return string
*/
public static function firstNameMaleMalay()
@@ -554,9 +554,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay female first name
*
*
* @example 'Adibah'
*
*
* @return string
*/
public static function firstNameFemaleMalay()
@@ -566,9 +566,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay last name
*
*
* @example 'Abdullah'
*
*
* @return string
*/
public function lastNameMalay()
@@ -578,9 +578,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay male 'Muhammad' name
*
*
* @example 'Muhammad'
*
*
* @return string
*/
public static function muhammadName()
@@ -590,9 +590,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay female 'Nur' name
*
*
* @example 'Nur'
*
*
* @return string
*/
public static function nurName()
@@ -602,9 +602,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay male 'Haji' title
*
*
* @example 'Haji'
*
*
* @return string
*/
public static function haji()
@@ -614,9 +614,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay female 'Hajjah' title
*
*
* @example 'Hajjah'
*
*
* @return string
*/
public static function hajjah()
@@ -626,9 +626,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malay title
*
*
* @example 'Syed'
*
*
* @return string
*/
public static function titleMaleMalay()
@@ -638,9 +638,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Chinese last name
*
*
* @example 'Lim'
*
*
* @return string
*/
public static function lastNameChinese()
@@ -650,9 +650,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Chinese male first name
*
*
* @example 'Goh Tong'
*
*
* @return string
*/
public static function firstNameMaleChinese()
@@ -662,9 +662,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Chinese female first name
*
*
* @example 'Mew Choo'
*
*
* @return string
*/
public static function firstNameFemaleChinese()
@@ -674,9 +674,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Christian male name
*
*
* @example 'Aaron'
*
*
* @return string
*/
public static function firstNameMaleChristian()
@@ -686,9 +686,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a Christian female name
*
*
* @example 'Alice'
*
*
* @return string
*/
public static function firstNameFemaleChristian()
@@ -698,9 +698,9 @@ class Person extends \Faker\Provider\Person
/**
* Return an Indian initial
*
*
* @example 'S. '
*
*
* @return string
*/
public static function initialIndian()
@@ -710,9 +710,9 @@ class Person extends \Faker\Provider\Person
/**
* Return an Indian male first name
*
*
* @example 'Arumugam'
*
*
* @return string
*/
public static function firstNameMaleIndian()
@@ -722,9 +722,9 @@ class Person extends \Faker\Provider\Person
/**
* Return an Indian female first name
*
*
* @example 'Ambiga'
*
*
* @return string
*/
public static function firstNameFemaleIndian()
@@ -734,9 +734,9 @@ class Person extends \Faker\Provider\Person
/**
* Return an Indian last name
*
*
* @example 'Subramaniam'
*
*
* @return string
*/
public static function lastNameIndian()
@@ -746,9 +746,9 @@ class Person extends \Faker\Provider\Person
/**
* Return a random last name
*
*
* @example 'Lee'
*
*
* @return string
*/
public function lastName()
@@ -764,14 +764,14 @@ class Person extends \Faker\Provider\Person
/**
* Return a Malaysian I.C. No.
*
*
* @example '890123-45-6789'
*
*
* @link https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_(NRIC)
*
*
* @param string|null $gender 'male', 'female' or null for any
* @param bool|string|null $hyphen true, false, or any separator characters
*
*
* @return string
*/
public static function myKadNumber($gender = null, $hyphen = false)
@@ -786,8 +786,8 @@ class Person extends \Faker\Provider\Person
$dd = DateTime::dayOfMonth();
// place of birth (1-59 except 17-20)
while (in_array(($pb = mt_rand(1, 59)), array(17, 18, 19, 20))) {
};
while (in_array($pb = mt_rand(1, 59), array(17, 18, 19, 20))) {
}
// random number
$nnn = mt_rand(0, 999);
@@ -804,7 +804,7 @@ class Person extends \Faker\Provider\Person
// formatting with hyphen
if ($hyphen === true) {
$hyphen = "-";
} else if ($hyphen === false) {
} elseif ($hyphen === false) {
$hyphen = "";
}

View File

@@ -88,12 +88,12 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return a Malaysian Mobile Phone Number.
*
*
* @example '+6012-345-6789'
*
*
* @param bool $countryCodePrefix true, false
* @param bool $formatting true, false
*
*
* @return string
*/
public function mobileNumber($countryCodePrefix = true, $formatting = true)
@@ -113,9 +113,9 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return prefix digits for 011 numbers
*
*
* @example '10'
*
*
* @return string
*/
public static function zeroOneOnePrefix()
@@ -125,9 +125,9 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return prefix digits for 014 numbers
*
*
* @example '2'
*
*
* @return string
*/
public static function zeroOneFourPrefix()
@@ -137,9 +137,9 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return prefix digits for 015 numbers
*
*
* @example '1'
*
*
* @return string
*/
public static function zeroOneFivePrefix()
@@ -149,12 +149,12 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return a Malaysian Fixed Line Phone Number.
*
*
* @example '+603-4567-8912'
*
*
* @param bool $countryCodePrefix true, false
* @param bool $formatting true, false
*
*
* @return string
*/
public function fixedLineNumber($countryCodePrefix = true, $formatting = true)
@@ -174,12 +174,12 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return a Malaysian VoIP Phone Number.
*
*
* @example '+6015-678-9234'
*
*
* @param bool $countryCodePrefix true, false
* @param bool $formatting true, false
*
*
* @return string
*/
public function voipNumber($countryCodePrefix = true, $formatting = true)
@@ -199,11 +199,11 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
/**
* Return a Malaysian Country Code Prefix.
*
*
* @example '+6'
*
*
* @param bool $formatting true, false
*
*
* @return string
*/
public static function countryCodePrefix($formatting = true)

View File

@@ -300,7 +300,7 @@ class Person extends \Faker\Provider\Person
*/
$randomDigits = (string)static::numerify('##');
switch($gender) {
switch ($gender) {
case static::GENDER_MALE:
$genderDigit = static::randomElement(array(1,3,5,7,9));
break;

View File

@@ -19,4 +19,23 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
'9#######',
'4#######',
);
/**
* @var array Norweign mobile number formats
*/
protected static $mobileFormats = array(
'+474#######',
'+479#######',
'9## ## ###',
'4## ## ###',
'9#######',
'4#######',
);
public function mobileNumber()
{
$format = static::randomElement(static::$mobileFormats);
return self::numerify($this->generator->parse($format));
}
}

View File

@@ -45,11 +45,11 @@ class Person extends \Faker\Provider\Person
'Kabindra', 'Kailash', 'Kalyan', 'Kamal', 'Kamod', 'Kapil', 'Karan', 'Karna', 'Khagendra', 'Kishor', 'Kris', 'Krishna', 'Krisus', 'Kuber',
'Lakshman', 'Lalit', 'Lava', 'Lochan', 'Lokesh',
'Madhav', 'Madhukar', 'Madhur', 'Mandeep', 'Manish', 'Manjul', 'Manoj', 'Milan', 'Mohit', 'Mridul',
'Nabin', 'Nakul', 'Narayan', 'Narendra', 'Naresh', 'Neil', 'Nerain', 'Nirajan', 'Nirajan', 'Nirmal', 'Nirupam', 'Nischal', 'Nishad', 'Nishant', 'Nutan',
'Nabin', 'Nakul', 'Narayan', 'Narendra', 'Naresh', 'Neil', 'Nerain', 'Nirajan', 'Nirmal', 'Nirupam', 'Nischal', 'Nishad', 'Nishant', 'Nutan',
'Om',
'Paras', 'Parikshit', 'Parimal', 'Pawan', 'Piyush', 'Prabal', 'Prabesh', 'Prabhat', 'Prabin', 'Prajwal', 'Prakash', 'Pramesh', 'Pramod', 'Pranaya', 'Pranil', 'Prasanna', 'Prashant', 'Prasun', 'Pratap', 'Pratik', 'Prayag', 'Prianshu', 'Prithivi', 'Purna', 'Pushkar',
'Raghab', 'Rahul', 'Rajan', 'Rajesh', 'Rakesh', 'Ramesh', 'Ranjan', 'Ranjit', 'Ricky', 'Rijan', 'Rishab', 'Rishikesh', 'Rohan', 'Rohit', 'Roshan',
'Sabin', 'Sachit', 'Safal', 'Sahaj', 'Sahan', 'Sajal', 'Sakar', 'Samir', 'Sanchit', 'Sandesh', 'Sanjay', 'Sanjeev', 'Sankalpa', 'Santosh', 'Sarad', 'Saroj', 'Sashi', 'Saumya', 'Sevak', 'Shailesh', 'Shakti', 'Shamundra', 'Shantanu', 'Shashank', 'Shashwat', 'Shekar', 'Shyam', 'Siddhartha', 'Sitaram', 'Sohan', 'Sohil', 'Soviet', 'Spandan', 'Subal', 'Subham', 'Subodh', 'Sudan', 'Sudhir', 'Sudin', 'Sudip', 'Sujan', 'Sujit', 'Sukanta', 'Sumel', 'Sunil', 'Suraj', 'Suraj', 'Surendra', 'Surya', 'Sushant', 'Sushil', 'Suyash', 'Suyog', 'Swagat', 'Swapnil', 'Swarup',
'Sabin', 'Sachit', 'Safal', 'Sahaj', 'Sahan', 'Sajal', 'Sakar', 'Samir', 'Sanchit', 'Sandesh', 'Sanjay', 'Sanjeev', 'Sankalpa', 'Santosh', 'Sarad', 'Saroj', 'Sashi', 'Saumya', 'Sevak', 'Shailesh', 'Shakti', 'Shamundra', 'Shantanu', 'Shashank', 'Shashwat', 'Shekar', 'Shyam', 'Siddhartha', 'Sitaram', 'Sohan', 'Sohil', 'Soviet', 'Spandan', 'Subal', 'Subham', 'Subodh', 'Sudan', 'Sudhir', 'Sudin', 'Sudip', 'Sujan', 'Sujit', 'Sukanta', 'Sumel', 'Sunil', 'Suraj', 'Surendra', 'Surya', 'Sushant', 'Sushil', 'Suyash', 'Suyog', 'Swagat', 'Swapnil', 'Swarup',
'Tej', 'Tilak', 'Tirtha', 'Trailokya', 'Trilochan',
'Udit', 'Ujjwal', 'Umesh', 'Uttam',
'Yogendra', 'Yogesh', 'Yuvaraj',
@@ -80,7 +80,7 @@ class Person extends \Faker\Provider\Person
protected static $lastName = array(
'Acharya', 'Adhikari', 'Agarwal', 'Amatya', 'Aryal',
'Baidya', 'Bajracharya', 'Balami', 'Banepali', 'Baniya', 'Banjade', 'Baral', 'Basnet', 'Bastakoti', 'Bastola', 'Basyal', 'Belbase', 'Bhandari', 'Bhatta', 'Bhattarai', 'Bhusal', 'Bijukchhe', 'Bisht', 'Bohara', 'Budathoki', 'Byanjankar',
'Chalise', 'Chamling', 'Chapagain', 'Chaudhary', 'Chhetri', 'Chhetri',
'Chalise', 'Chamling', 'Chapagain', 'Chaudhary', 'Chhetri',
'Dahal', 'Dangol', 'Dawadi', 'Devkota', 'Dhakal', 'Dhamla', 'Dhaubhadel', 'Dhungel',
'Gauchan', 'Gautam', 'Ghale', 'Ghimire', 'Giri', 'Golchha', 'Gurung', 'Gyalzen', 'Gyawali',
'Hamal', 'Himanshu', 'Humagain',

View File

@@ -32,7 +32,7 @@ class Payment extends \Faker\Provider\Payment
*/
public static function vat($spacedNationalPrefix = true)
{
$prefix = ($spacedNationalPrefix) ? "BE " : "BE";
$prefix = $spacedNationalPrefix ? "BE " : "BE";
return sprintf("%s0%d", $prefix, self::randomNumber(9, true));
}

View File

@@ -4,33 +4,109 @@ namespace Faker\Provider\nl_NL;
class Company extends \Faker\Provider\Company
{
protected static $formats = array(
'{{lastName}} {{companySuffix}}',
'{{lastName}} {{lastName}} {{companySuffix}}',
'{{lastName}}',
'{{lastName}}',
/**
* @see https://nl.wikipedia.org/wiki/Lijst_van_beroepen
*/
protected static $jobTitleFormat = array(
'Aankondiger', 'Acceptant', 'Accountant', 'Accountmanager', 'Acrobaat', 'Acteur', 'Activiteitenbegeleider', 'Actuaris', 'Acupuncturist', 'Adjudant', 'Administrateur', 'Advertentiezetter', 'Adviseur', 'Advocaat', 'Agent', 'Agrariër', 'Akoepedist', 'Akoesticus', 'Alchemist', 'Allergoloog', 'Altist', 'Amanuensis', 'Ambtenaar', 'Ambulancebegeleider', 'Ambulancechauffeur', 'Ambulanceverpleegkundige', 'Analist', 'Anatoom', 'Andragoog', 'Androloog', 'Anesthesist', 'Anesthesiemedewerker', 'Animeermeisje', 'Antiquaar', 'Antiquair', 'Apotheker', 'Apothekersassistent', 'Applicatieontwikkelaar', 'Arbeidsanalist', 'Arbeidsbemiddelaar', 'Arbeidsdeskundige', 'Arbeidsfysioloog', 'Arbeidsgeneesheer', 'Arbeidshygiënist', 'Archeoloog', 'Architect', 'Archivaris', 'Archivist', 'Arrangeur', 'Artdirector', 'Artiest', 'Arts', 'Assuradeur', 'Astrofysicus', 'Astroloog', 'Astronaut', 'Astronoom', 'Audioloog', 'Audiometrist', 'Audiotherapeut', 'Auditor', 'Autohandelaar', 'Automonteur', 'Autoplaatwerker', 'Autospuiter',
'Bacterioloog', 'Badmeester', 'Baggermachinist', 'Baggermolenarbeider', 'Baker', 'Bakker', 'Baliemedewerker', 'Balletdanser', 'Ballroomdanser', 'Bandagist', 'Bandenmonteur', 'Bankbediende', 'Bankdirecteur', 'Banketbakker', 'Bankmakelaar', 'Bankwerker', 'Barbediende', 'Barhouder', 'Barman', 'Basketballer', 'Bassist', 'Beademingsassistent', 'Bedienaar', 'Bediener', 'Bedrijfsbrandweer', 'Bedrijfseconoom', 'Bedrijfshoofd', 'Bedrijfsjurist', 'Bedrijfskassier', 'Bedrijfskundige', 'Bedrijfsleermeester', 'Bedrijfsleider', 'Bedrijfsorganisatiedeskundige', 'Bedrijfspolitieagent', 'Bedrijfsrecherche', 'Bedrijfsverpleegkundige', 'Beeldapparatuurbediener', 'Beeldhouwer', 'Beenhouwer', 'Begeleider', 'Begrafenispersoneel', 'Begrotingscalculator', 'Behanger', 'Beheerder', 'Beiaardier', 'Bejaardenverzorgende', 'Belastingambtenaar', 'Belastingconsulent', 'Beleidsambtenaar', 'Beleidsmedewerker', 'Belichter', 'Bergingsduiker', 'Beroepskeuzeadviseur', 'Beroepsmilitair', 'Beroepssporter', 'Bestekschrijver', 'Besteksorteerder', 'Bestekzoeker', 'Bestuurder', 'Bestuurskundige', 'Betonmolenbaas', 'Betontimmerman', 'Betonstaalvlechter', 'Betonwerker', 'Beul', 'Beveiligingsapparatuur', 'Beveiligingsbeambte', 'Bewaarder', 'Bewaker', 'Bewegingstherapeut', 'Bezorger', 'Bibliothecaris', 'Bibliotheekassistent', 'Bierbrouwer', 'Bijenkorfvlechter', 'Bijenkweker', 'Bijkantoorhouder', 'Binderijpersoneel', 'Binnenhuisarchitect', 'Biochemicus', 'Biograaf', 'Bioloog', 'Bioscoopoperateur', 'Bitumineerder', 'Bloemist', 'Bloemkweker', 'Bloemschikker', 'Bloemsierkunstenaar', 'Bode', 'Boekbinder', 'Boekhouder', 'Boekillustrator', 'Boer', 'Bontkleermaker', 'Bontsnijder', 'Bookmaker', 'Boomchirurg', 'Boomkweker', 'Boomverzorger', 'Boordwerktuigkundige', 'Boormachinist', 'Boorpersoneel', 'Bootsman', 'Bosbaas', 'Bosbouwkundige', 'Boswachter', 'Botenbouwer', 'Bouwcalculator', 'Bouwhistoricus', 'Bouwkundig tekenaar', 'Bouwliftbediener', 'Bouwpromotor', 'Bouwopzichter', 'Bouwvakker', 'Bouwvaktimmerman', 'Brandmeester', 'Brandveiligheidsdeskundige', 'Brandwacht', 'Brandweerman', 'Brandweercommandant', 'Brandweeronderofficier', 'Breimachinesteller', 'Bromfietshersteller', 'Bronboorder', 'Buffetbediende', 'Buikspreker', 'Buitenbandenvulkaniseur', 'Buitendienstmedewerker', 'Burgemeester', 'Buschauffeur', 'Budgetcoach', 'Butler',
'Cabaretier', 'Caféhouder', 'Cafetariamedewerker', 'Caissière', 'Calculator', 'Callgirl', 'Cameraman', 'Cardioloog', 'Cargadoor', 'Carrosseriebouwer', 'Cartograaf', 'Cellist', 'Chauffeur', 'Chef', 'Chemicus', 'Chiropodist', 'Chirurg', 'Chocolademaker', 'Chocolatier', 'Choreograaf', 'Cilindermaker', 'Cineast', 'Cipier', 'Circusartiest', 'Circusdirecteur', 'Civiel ingenieur', 'Classicus', 'Clown', 'Coach', 'Codeur', 'Collationist', 'Colporteur', 'Columnist', 'Combinatiefunctionaris', 'Commentator', 'Commissaris', 'Commissionair', 'Completeerder', 'Compliance officer', 'Componist', 'Computeroperator', 'Computerprogrammeur', 'Conciërge', 'Conducteur', 'Conservator', 'Constructeur', 'Constructiebankwerker', 'Constructiesamenbouwer', 'Constructieschilder', 'Consulent', 'Contactlensspecialist', 'Controleur', 'Controller', 'Coördinator', 'Copywriter', 'Counselor', 'Corrector', 'Correpetitor', 'Correspondent', 'Creatief therapeut', 'Crècheleidster', 'Criminoloog', 'Criticus', 'Croupeur', 'Croupier', 'Cultuurtechnicus', 'Curator', 'Cursuscoördinator', 'Cursusleider',
'Dakdekker', 'Dakpannenvormer', 'Danser', 'Dansleraar', 'Database administrator', 'Debitant', 'Decaan', 'Declarant', 'Decoratieschilder', 'Decorschilder', 'Degelpersdrukker', 'Dekkledenmaker', 'Dekpersoneel', 'Delfstoffenbewerker', 'Demonstrateur', 'Dermatoloog', 'Deskundige', 'Detailhandelaar', 'Detective', 'Deurenzetter', 'Deurwaarder', 'Dichter', 'Dieetkok', 'Dienstbode', 'Dienstleider', 'Diepdrukgraveur', 'Dierenarts', 'Dierenartsassistent', 'Dierenasielhouder', 'Dierentrainer', 'Dierenverzorger', 'Diëtist', 'Diplomaat', 'Directeur', 'Directieassistent', 'Directiesecretaresse', 'Dirigent', 'Diskjockey', 'Districtschef', 'Districtsverpleegkundige', 'Docent', 'Documentalist', 'Documentencontroleur', 'Dokmeester', 'Doktersassistent', 'Dominee', 'Doodgraver', 'Douaneambtenaar', 'Dozenmaker', 'Draaier', 'Dramadocent', 'Dramatherapeut', 'Drogist', 'Drukker', 'Drukkerijbinder', 'Drukwerkvoorbereiders', 'Drummer', 'Duiker',
'Econoom', 'Ecotechnisch manager', 'Edelmetaalbewerker', 'Edelsmid', 'Editor', 'EDP-auditor', 'Egyptoloog', 'Eindredacteur', 'Elektricien', 'Elektromonteur', 'Elektronicamonteur', 'Elektronicus', 'Elektrotechnicus', 'Encyclopedist', 'Enquêteur', 'Ergonoom', 'Ergotherapeut', 'Ertskundige', 'Essayeur', 'Essayist', 'Etaleur', 'Etnograaf', 'Etnoloog', 'Etymoloog', 'Evangelist', 'Examinator', 'Expediteur', 'Explantatiemedewerker',
'Fabrikant', 'Facilitair Manager', 'Facturist', 'Farmacoloog', 'Fietsenmaker', 'Fijnbankwerker', 'Filiaalhouder', 'Filmer', 'Filmregisseur', 'Filosoof', 'Filterreiniger', 'Financieel analist', 'Fluitenbouwer', 'Fotograaf', 'Fotograveur', 'Fotolaborant', 'Fotolaboratoriumbediende', 'Fotolithograaf', 'Fotoredacteur', 'Framebouwer', 'Frezer', 'Fruitteler', 'Fysicus', 'Fysioloog', 'Fysiotherapeut',
'Galvaniseur', 'Game Designer', 'Garagehouder', 'Garderobejuffrouw', 'Garnalenpeller', 'Gasleidinglegger', 'Gastvrouw', 'Gecommitteerde', 'Gedeputeerde', 'Gemeentesecretaris', 'Geneeskundige', 'Generaal', 'Geodeet', 'Geograaf', 'Geoloog', 'Gerant', 'Gerechtsdeurwaarder', 'Gereedschapsmaker', 'Gereedschapssmid', 'Geschiedkundige', 'Gevangenbewaarder', 'Gezaghebber', 'Gezagvoerder', 'Gezondheidsbegeleider', 'Gezondheidsfysicus', 'Gezondheidstechnicus', 'Gidsenschrijver', 'Gieterijtechnicus', 'Gietmachinebediener', 'Gigolo', 'Gipsverbandmeester', 'Gitarist', 'Glasblazer', 'Glasgraveur', 'Glasslijper', 'Glaszetter', 'Glazenhaler', 'Glazenmaker', 'Glazenwasser', 'Goochelaar', 'Goudsmid', 'Goudzoeker', 'Grafdelver', 'Graficus', 'Grafisch ontwerper', 'Grafoloog', 'Graveur', 'Griendwerker', 'Griffier', 'Grimeur', 'Groenteteler', 'Groepsleider', 'Groepsvervoer', 'Grondsteward', 'Grondstewardess', 'Grondwerker', 'Groothandelaar', 'Gymleraar', 'Gynaecoloog',
'Handelaar', 'Handelscorrespondent', 'Handwever', 'Havenarbeider', 'Havenmeester', 'Heemraad', 'Heftruckchauffeur', 'Heibaas', 'Heier', 'Heilpedagoog', 'Heilsoldaat', 'Helpdeskmedewerker', 'Herbergier', 'Hijsmachinist', 'Historicus', 'Hoefsmid', 'Hoekman', 'Hofmeester', 'Homeopaat', 'Hondenfokker', 'Hondentoiletteerder', 'Hondentrimmer', 'Hoofd', 'Hoofdambtenaar', 'Hoofdcontroleur', 'Hoofdredacteur', 'Hoofduitvoerder', 'Hoofdverpleegkundige', 'Hoofdwerktuigkundige', 'Hoogleraar', 'Hoornist', 'Hoorspelregisseur', 'Horlogemaker', 'Hostess', 'Hotelier', 'Hotelmanager', 'Hotelportier', 'Houtbewerker', 'Houtmodelmaker', 'Houtsnijder', 'Houtvester', 'Houtwarensamensteller', 'Hovenier', 'Huidtherapeut', 'Huisarts', 'Huisbaas', 'Huisbewaarder', 'Huishoudhulp', 'Huishoudster', 'Huisschilder', 'Hulparbeider', 'Hulpautomonteur', 'Hulpkok', 'Hulpverkoper', 'Huurmoordenaar', 'Hydroloog',
'IJscoman', 'IJzervlechter', 'Illusionist', 'Illustrator', 'Imam', 'Imker', 'Importeur', 'Impresario', 'Industrieel ontwerper', 'Ingenieur', 'Inkoper', 'Inrijger', 'Inseminator', 'Inspecteur', 'Installateur', 'Instructeur', 'Instrumentalist', 'Instrumentmaker', 'Interieurarchitect', 'Interieurverzorger', 'Interne accountant', 'Internist',
'Jachtopzichter', 'Jager', 'Jongleur', 'Journalist', 'Justitieel Aanklager', 'Juwelier', 'Judoleraar',
'Kaartenzetter', 'Kaasmaker', 'Kabelsplitser', 'Kabelwerker', 'Kanaalmeester', 'Kantonnier', 'Kantoorhulp', 'Kapitein', 'Kapper', 'Kappershulp', 'Kardinaal', 'Karteerder', 'Kartonnagewerker', 'Kassamedewerker', 'Kassier', 'Kelner', 'Keizer', 'Keramist', 'Kermisexploitant', 'Kernmaker', 'Kerstman', 'Ketelmetselaar', 'Keukenassistent', 'Keukenknecht', 'Keurder', 'Keuringsambtenaar', 'Keurmeester', 'Kinderverzorgende', 'Kleermaker', 'Kleidelver', 'Kleinhandelaar', 'Klerk', 'Kleuterleider', 'Klokkenmaker', 'Klompenmaker', 'Kloosterling', 'Kno-arts', 'Koerier', 'Koetsier', 'Kok', 'Komiek', 'Kompel', 'Kooiker', 'Kooiman', 'Koordirigent', 'Koperslager', 'Kostendeskundige', 'Koster', 'Kostprijscalculator', 'Kozijnenmaker', 'Kraamverzorgende', 'Kraamhulp', 'Kraanmachinist', 'Kredietanalist', 'Kredietbeoordelaar', 'Kruidendokter', 'Kruier', 'Kuiper', 'Kunstcriticus', 'Kunstenaar', 'Kunstschilder', 'Kustlichtwachter', 'Kwitantieloper',
'Laadschopbestuurder', 'Laborant', 'Laboratoriumbediende', 'Lader', 'Ladingmeester', 'Lakei', 'Landarbeider', 'Landbouwer', 'Landbouwkundige', 'Landbouwmachinebestuurder', 'Landbouwmilieubeheer', 'Landbouwwerktuigenhersteller', 'Landmeetkundige', 'Landmeettechnicus', 'Landmeter', 'Landschapsarchitect', 'Landschapsbeheer', 'Lasinspecteur', 'Lasser', 'Lastechnicus', 'Lector', 'Ledertechnoloog', 'Lederwarenmaker', 'Leerbewerker', 'Leerkracht', 'Leeuwentemmer', 'Legionair', 'Leidekker', 'Leidinggevende', 'Leraar', 'Letterkundige', 'Leurder', 'Lichtdrukker', 'Lichtmatroos', 'Lijstenmaker', 'Linktrainer', 'Literator', 'Literatuurcriticus', 'Literatuuronderzoeker', 'Logopedist', 'Logotherapeut', 'Lokettist', 'Longfunctieassistent', 'Loodgieter', 'Loods', 'Loodschef', 'Loonadministrateur', 'Loopbaancoach', 'Losser', 'Luchtverkeersleider',
'Maatnemer', 'Maatschappelijk medewerker', 'Maatschappelijk werker', 'Maatschoenmaker', 'Machine vouwer', 'Machinebankwerker', 'Machinebediende', 'Machinesteller', 'Manegehouder', 'Machinist', 'Magazijnbediende', 'Magazijnbeheerder', 'Magazijnknecht', 'Magnetiseur', 'Makelaar', 'Managementassistent', 'Manager', 'Mandenmaker', 'Mannequin', 'Manueel therapeut', 'Marconist', 'Marinier', 'Maritiem Officier', 'Marechaussee', 'Marketingadviseur', 'Marketingassistent', 'Marktkoopman', 'Masseur', 'Mathematicus', 'Matroos', 'Mattenmaker', 'Medewerker', 'Mediatrainer', 'Meester restauratiestukadoor', 'Meettechnicus', 'Melkboer', 'Metaalbewerker', 'Metaalbrander', 'Metaalbuiger', 'Metaalfrezer', 'Metaalgieter', 'Metaalkundige', 'Meteoroloog', 'Meteropnemer', 'Metselaar', 'Meubelbeeldhouwer', 'Meubelmaker', 'Meubelstoffeerder', 'Meubelstoffennaaister', 'Meubeltekenaar', 'Mijnbouwkundige', 'Middenstander', 'Mijnwerker', 'Milieudeskundige', 'Milieuhygiënist', 'Militair', 'Mimespeler', 'Min', 'Mineralenbewerker', 'Minister', 'Minister-president', 'Model', 'Modelmaker', 'Modelnaaister', 'Molenaar', 'Modeontwerper', 'Mondhygiënist', 'Monnik', 'Monteur', 'Mosselman', 'Motordemonteur', 'Motordrijver', 'Motormonteur', 'Mouldroomtechnicus', 'Munter', 'Muntmeester', 'Museumconservator', 'Museumgids', 'Museumhouder', 'Museummedewerker', 'Musicus', 'Muziekinstrumentenmaker', 'Muziekprogrammeur',
'Naaister', 'Nachtwaker', 'Nagelstyliste', 'Nasynchronisatieregisseur', 'Natuurkundeleraar', 'Natuurkundige', 'Natuurwetenschapper', 'Navigator', 'Neonatoloog', 'Nettenboeter', 'Netwerkbeheerder', 'Neurochirurg', 'Neuroloog', 'Neurofysioloog', 'Nieuwslezer', 'Nijverheidsconsulent', 'Nko-arts', 'Nopster', 'Notaris', 'Nucleair geneeskundige',
'Ober', 'Oberkelner', 'Objectleider', 'Oceanoloog', 'Octrooigemachtigde', 'Officier', 'Officier van justitie', 'Olieslager', 'Omroeper', 'Omsteller', 'Oncoloog', 'Onderhoudsloodgieter', 'Onderhoudsman', 'Onderhoudsmedewerker', 'Onderhoudsmonteur', 'Ondernemer', 'Onderofficier', 'Ondersteunende', 'Onderwaterwerker', 'Onderwijsassistent', 'Onderwijstechnicus', 'Onderwijzer', 'Onderzoeker', 'Onderzoeker in opleiding', 'Ontdekkingsreiziger', 'Ontmijner', 'Ontvlekker', 'Ontwerper', 'Oogarts', 'Operateur', 'Operatieassistent', 'Operational auditor', 'Operator', 'Opkoper', 'Opperman', 'Opsporingsambtenaar', 'Opsporingsingenieur', 'Opticien', 'Optometrist', 'Opvoedingsconsulent', 'Opvoedingsvoorlichter', 'Opzichter', 'Organist', 'Organizer', 'Ornitholoog', 'Orthodontist', 'Orthopedagoog', 'Orthopeed', 'Orthoptist', 'ORL-arts', 'Osteopaat', 'Ouvreuse', 'Ovenman',
'Paardenfokker', 'Pakhuischef', 'Paleontoloog', 'Palfrenier', 'Pandjesbaas', 'Papierschepper', 'Papiervernisser', 'Parkeerwachter', 'Parketvloerenlegger', 'Parketwacht', 'Pastoor', 'Paswerker', 'Patholoog', 'Patholoog-anatoom', 'Patissier', 'Patroonmaker', 'Patroontekenaar', 'Pedagoog', 'Pedicure', 'Perronopzichter', 'Perser', 'Personeelsfunctionaris', 'Peuterwerker', 'Pianist', 'Pianostemmer', 'Piccolo', 'Pijpfitter', 'Pikeur', 'Piloot', 'Plaatwerker', 'Planner', 'Plantenteeltdeskundige', 'Plantsoenmedewerker', 'Plasticvormer', 'Pleitbezorger', 'Poelier', 'Poepruimer', 'Poetser', 'Podiatrist', 'Podoloog', 'Poffertjesbakker', 'Polisopmaker', 'Politicus', 'Politieagent', 'Politiecommissaris', 'Politie-inspecteur', 'Politiek analist', 'Pontschipper', 'Pooier', 'Porder', 'Portier', 'Portretfotograaf', 'Postbediende', 'Postbesteller', 'Postbode', 'Postcommandant', 'Postexpediteur', 'Postsorteerder', 'Pottenbakker', 'Predikant', 'Premier', 'Presentator', 'President', 'Priester', 'Probleemanalist', 'Procesmanager', 'Procesoperator', 'Procureur', 'Procureur des Konings', 'Producer', 'Productenmaker', 'Productensorteerder', 'Productiebegeleider', 'Productieleider', 'Productiemedewerker', 'Productieplanner', 'Professor', 'Professioneel worstelaar', 'Programmamaker', 'Programmeur', 'Projectadviseur', 'Projectleider', 'Projectmanager', 'Projectontwikkelaar', 'Promovendus', 'Prostitué', 'Prostituee', 'Pruikenmaker', 'Psychiater', 'Psychologisch assistent', 'Psycholoog', 'Psychotherapeut', 'Psychomotorisch kindertherapeut', 'Purser', 'Putjesschepper',
'Quarantaine-beambte', 'Quizmaster', 'Quantity surveyor',
'Raadsman', 'Radarwaarnemer', 'Radiotherapeutisch laborant', 'Radiograaf', 'Radiolaborant', 'Radiotechnicus', 'Radiotelegrafist', 'Rangeerder', 'Recensent', 'Receptionist', 'Recherchekundige', 'Rechercheur', 'Rechtbanktekenaar', 'Rechter', 'Reclame-ontwerper', 'Reclameacquisiteur', 'Reclamedeskundige', 'Reclametekenaar', 'Redacteur', 'Redactiechef', 'Regisseur', 'Registeraccountant', 'Reiniger', 'Reinigingsdienstarbeider', 'Reisleider', 'Reisprogrammeur', 'Reisverkoper', 'Rekenaar', 'Rekwisietenmaker', 'Rentmeester', 'Reparateur', 'Ridder', 'Repetitor', 'Reproductietekenaar', 'Restauranthouder', 'Rietmeubelmaker', 'Rietwerker', 'Rijtuigspuiter', 'Rijwielhersteller', 'Rolluikentimmerman', 'Rondvaartgids', 'Röntgenoloog', 'Ruimtevaarder',
'Samensteller', 'Saunahouder', 'Scenarioschrijver', 'Schaaldierenkweker', 'Schaaldierenpeller', 'Schaapherder', 'Schadecorrespondent', 'Schadetaxateur', 'Schakelbordwachter', 'Schaker', 'Schapenscheerder', 'Scharensliep', 'Scheepskapitein', 'Scheepskok', 'Scheepspurser', 'Scheepsschilder', 'Scheepstimmerman', 'Scheidsrechter', 'Scheikundige', 'Schillenboer', 'Schipper', 'Schoenfabrieksarbeider', 'Schoenhersteller', 'Schoenmaker', 'Schoolbegeleider', 'Schooldecaan', 'Schooldirecteur', 'Schoolinspecteur', 'Schoonheidsmasseur', 'Schoonheidsspecialiste', 'Schoonmaker', 'Schoorsteenveger', 'Schotter', 'Schrijftolk', 'Schrijver', 'Schuurder', 'Secretaresse', 'Secretariaatsmedewerker', 'Secretaris', 'Seismoloog', 'Seizoenarbeider', 'Seksuoloog', 'Selecteur', 'Sergeant', 'Seroloog', 'Serveerster', 'Setdresser', 'Sigarenmaker', 'Sinoloog', 'Sjorder', 'Sjouwer', 'Slachter', 'Slager', 'Slagwerker', 'Slijter', 'Sloper', 'Sluiswachter', 'Smeerder', 'Smelter', 'Smid', 'Snackbarbediende', 'Snackbarhouder', 'Snijder', 'Sociotherapeut', 'Softwareontwikkelaar', 'Soldaat', 'Soldeerder', 'Sommelier', 'Sondeerder', 'Songwriter', 'Souschef', 'Spoeler', 'Souffleur', 'Specialist', 'Spelersmakelaar', 'Speltherapeut', 'Spindoppenmonteur', 'Spion', 'Sportinstructeur', 'Stadsomroeper', 'Stadstimmerman', 'Stanser', 'Stationschef', 'Statisticus', 'Stedenbouwkundige', 'Steenbewerker', 'Steenfabrikant', 'Steenhouwer', 'Steenzetter', 'Steigerbouwer', 'Steigermaker', 'Stenotypist', 'Stereotypeur', 'Sterilisatieassistent', 'Stewardess', 'Stoelenmatter', 'Stoffeerder', 'Storingsmonteur', 'Straatverkoper', 'Strandjutter', 'Stratenmaker', 'Stripper', 'Stucwerker', 'Stukadoor', 'Stuurman', 'Stuwadoor', 'Stylist', 'Stypengalvaniseur', 'Surinamist', 'Systeemanalist', 'Systeembeheerder', 'Systeemontwerper', 'Systeemprogrammeur',
'Takelaar', 'Tandarts', 'Tandartsassistente', 'Tandtechnicus', 'Tapper', 'Taxichauffeur', 'Taxidermist', 'Technicus', 'Technisch Oogheelkundig Assistent', 'Technisch tekenaar', 'Tegelzetter', 'Tekenaar', 'Tekstschrijver', 'Telecommunicatiemonteur', 'Telefoniste', 'Telegrafist', 'Televisieregisseur', 'Televisietechnicus', 'Telexist', 'Tennisser', 'Terrazzovloerenlegger', 'Terreinchef', 'Tester', 'Textieldrukker', 'Textiellaborant', 'Textielopmaker', 'Textielproductenmaker', 'Theateragent', 'Theatertechnicus', 'Therapeut', 'Timmerman', 'Tingieter', 'Toetsenist', 'Tolk', 'Toneelfigurant', 'Toneelmeester', 'Toneelregisseur', 'Toneelschrijver', 'Toneelspeler', 'Torenkraanmonteur', 'Totalisatormedewerker', 'Touringcarchauffeur', 'Touwslager', 'Traceur', 'Trainingsacteur', 'Traiteur', 'Trambestuurder', 'Transportplanner', 'Treinbestuurder', 'Treinconducteur', 'Treindienstleider', 'Treinduwer', 'Treinmachinist', 'Trekkerchauffeur', 'Tuiger', 'Tuinarchitect', 'Tuinder', 'Tuinman', 'Typiste',
'Uitgever', 'Uitsmijter', 'Uitvaartbegeleider', 'Uitvinder', 'Uitvoerder', 'Uroloog', 'Uurwerkmaker',
'Vakkenvuller', 'Valet', 'Veearts', 'Veehouder', 'Veeverloskundige', 'Veiligheidsbeambte', 'Veilinghouder', 'Verfspuiter', 'Vergaderstenograaf', 'Verhuizer', 'Verhuurder', 'Verkeersdienstsimulator', 'Verkeersinspecteur', 'Verkeerskundige', 'Verkeersleider', 'Verkeersonderzoeker', 'Verkeersplanoloog', 'Verkoopchef', 'Verkoopstyliste', 'Verkoper', 'Verloskundige', 'Verpleeghulp', 'Verpleegkundige', 'Verslaggever', 'Verspaner', 'Vertaler', 'Vertegenwoordiger', 'Vervoer', 'Vervoersinspecteur', 'Verwarmingsinstallateur', 'Verwarmingsmonteur', 'Verzekeringsagent', 'Verzekeringsdeskundige', 'Verzekeringsinspecteur', 'Verzorgende', 'Vicaris', 'Videoclipregisseur', 'Videojockey', 'Vioolbouwer', 'Violist', 'Vinoloog', 'Viroloog', 'Visagiste', 'Visfileerder', 'Visser', 'Vj', 'Vleeswarenmaker', 'Vlieger', 'Vliegtuigplaatwerker', 'Vliegtuigtimmerman', 'Vloerlegger', 'Voedingsmiddelentechnoloog', 'Voedingsvoorlichter', 'Voeger', 'Voertuigbekleder', 'Voetballer', 'Volder of Voller', 'Voorganger', 'Voorlichter', 'Voorlichtingsfunctionaris', 'Voorraadadministrateur', 'Voorzitter', 'Vormende', 'Vormenmaker', 'Vormer', 'Vormgever', 'Vrachtwagenchauffeur', 'Vuilnisman', 'Vulkanoloog', 'Vuurspuwer', 'Vuurtorenwachter', 'Vroedvrouw',
'Waard', 'Waardijn', 'Waarzegger', 'Wachtcommandant', 'Wachter', 'Wachtmeester', 'Wagenmaker', 'Wasser', 'Wasserettehouder', 'Waterbouwkundige', 'Webdesigner', 'Weefmachinesteller', 'Weerkundige', 'Weerpresentator', 'Wegenbouwarbeider', 'Wegenbouwmachinist', 'Wegmarkeerder', 'Werkleider-dokmeester', 'Werktuigbouwkundige', 'Werktuigkundige', 'Werkvoorbereider', 'Wethouder', 'Wijkmeester', 'Wijnboer', 'Winkelbediende', 'Winkelier', 'Wiskundige', 'Wisselkassier', 'Wisselmaker', 'Woonbegeleider',
'Xylofonist',
'Yogaleraar',
'Zaakwaarnemer', 'Zakenman', 'Zanger', 'Zeefdrukker', 'Zeeman', 'Zeepzieder', 'Zeilmaker', 'Zelfstandig ondernemer', 'Zetter', 'Ziekenhuisapotheker', 'Ziekenhuishygiënist', 'Ziekenverzorgende', 'Zilversmid', 'Zweminstructeur', 'Zoöloog',
);
protected static $companySuffix = array('VOF', 'CV', 'LLP', 'BV', 'NV', 'IBC', 'CSL', 'EESV', 'SE', 'CV', 'Stichting', '& Zonen', '& Zn');
protected static $companySuffix = array(
'VOF', 'CV', 'LLP', 'BV', 'NV', 'IBC', 'CSL','EESV', 'SE', 'CV', 'Stichting', '& Zonen', '& Zn'
);
protected static $product = array(
'Keuken', 'Media', 'Meubel', 'Sanitair', 'Elektronica', 'Schoenen',
'Zorg', 'Muziek', 'Audio', 'Televisie', 'Pasta', 'Lunch', 'Boeken', 'Cadeau', 'Kunst', 'Tuin', 'Klus',
'Video', 'Sieraden', 'Kook', 'Woon', 'Pizza', 'Mode', 'Haar', 'Kleding', 'Antiek', 'Interieur', 'Gadget',
'Foto', 'Computer', 'Witgoed', 'Bruingoed', 'Broeken', 'Pakken', 'Maatpak', 'Fietsen', 'Speelgoed',
'Barbecue', 'Sport', 'Fitness', 'Brillen', 'Bakkers', 'Drank', 'Zuivel', 'Pret', 'Vis', 'Wijn', 'Salade',
'Terras', 'Borrel', 'Dieren', 'Aquaria', 'Verf', 'Behang', 'Tegel', 'Badkamer', 'Decoratie'
);
protected static $type = array(
'Markt', 'Kampioen', 'Expert', 'Concurrent', 'Shop', 'Expert', 'Magazijn',
'Dump', 'Store', 'Studio', 'Boulevard', 'Fabriek', 'Groep', 'Huis', 'Salon', 'Vakhuis', 'Winkel', 'Gigant',
'Reus', 'Plaza', 'Park', 'Tuin'
);
protected static $store = array(
'Boekhandel', 'Super', 'Tabakzaak', 'Schoenmaker', 'Kaashandel', 'Slagerij',
'Smederij', 'Bakkerij', 'Bierbrouwer', 'Kapperszaak', 'Groenteboer', 'Bioboer', 'Fietsenmaker', 'Opticien',
'Café', 'Garage'
);
/**
* @example 'Fietsenmaker Zijlemans'
*
* @return string
*/
public function company()
{
$determinator = static::numberBetween(0, 2);
switch ($determinator) {
case 0:
$companyName = static::randomElement(static::$product) . ' ' . static::randomElement(static::$type);
break;
case 1:
$companyName = static::randomElement(static::$product) . strtolower(static::randomElement(static::$type));
break;
case 2:
$companyName = static::randomElement(static::$store) . ' ' . $this->generator->lastName;
break;
}
if (0 !== static::numberBetween(0, 1)) {
return $companyName . ' ' . static::randomElement(static::$companySuffix);
}
return $companyName;
}
/**
* Belasting Toegevoegde Waarde (BTW) = VAT
*
* @example 'NL123456789B01'
*
* @see (dutch) http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/btw_nummers_controleren/uw_btw_nummer
*
* @see http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/btw_nummers_controleren/uw_btw_nummer
*
* @return string VAT Number
*/
public static function vat()
{
return sprintf("%s%d%s%d", 'NL', self::randomNumber(9, true), 'B', self::randomNumber(2, true));
}
/**
* Alias dutch vat number format
*
* @return string
*/
public static function btw()
{

View File

@@ -26,7 +26,7 @@ class Person extends \Faker\Provider\Person
'mr.', 'dr.', 'ir.', 'drs', 'bacc.', 'kand.', 'dr.h.c.', 'prof.', 'ds.', 'ing.', 'bc.'
);
private static $suffix = array(
protected static $suffix = array(
'BA', 'Bsc', 'LLB', 'LLM', 'MA', 'Msc', 'MPhil', 'D', 'PhD', 'AD', 'B', 'M'
);
@@ -116,7 +116,7 @@ class Person extends \Faker\Provider\Person
'Huijzing', 'Huisman', 'Huls', 'Hulshouts', 'Hulskes', 'Hulst', 'van Hulten', 'Huurdeman', 'van het Heerenveen',
'Jaceps', 'Jacobi', 'Jacobs', 'Jacquot', 'de Jager', 'Jans', 'Jansdr', 'Janse', 'Jansen', 'Jansen', 'Jansse',
'Janssen', 'Janssens', 'Jasper dr', 'Jdotte', 'Jeggij', 'Jekel', 'Jerusalem', 'Jochems',
'Jones', 'de Jong', 'Jonkman', 'Joosten', 'Jorlink', 'Jorrisen', 'van Jumiège', 'Jurrijens', 'Köster',
'Jones', 'de Jong', 'Jonkman', 'Joosten', 'Jorlink', 'Jorissen', 'van Jumiège', 'Jurrijens', 'Köster',
'van der Kaay', 'de Kale', 'Kallen', 'Kalman', 'Kamp', 'Kamper', 'Karels', 'Kas', 'van Kasteelen', 'Kathagen',
'Keijser', 'de Keijser', 'Keijzer', 'de Keijzer', 'Keltenie', 'van Kempen', 'Kerkhof', 'Ketel', 'Ketting',
'der Kijnder', 'van der Kint', 'Kirpenstein', 'Kisman', 'van Klaarwater', 'van de Klashorst', 'Kleibrink',
@@ -288,7 +288,7 @@ class Person extends \Faker\Provider\Person
*/
public static function titleMale()
{
return static::title();
return static::randomElement(static::$title);
}
/**
@@ -296,7 +296,7 @@ class Person extends \Faker\Provider\Person
*/
public static function titleFemale()
{
return static::title();
return static::randomElement(static::$title);
}
/**
@@ -342,7 +342,6 @@ class Person extends \Faker\Provider\Person
} else {
$nr[0] = 1;
$nr[1]++;
}
}
return implode('', array_reverse($nr));

View File

@@ -69,4 +69,78 @@ class Payment extends \Faker\Provider\Payment
{
return static::iban($countryCode, $prefix, $length);
}
/**
* @see list of Brazilians banks (2018-02-15), source: https://pt.wikipedia.org/wiki/Lista_de_bancos_do_Brasil
*/
protected static $banks = array(
'BADESUL Desenvolvimento S.A. Agência de Fomento/RS',
'Banco Central do Brasil',
'Banco da Amazônia',
'Banco de Brasília',
'Banco de Desenvolvimento de Minas Gerais',
'Banco de Desenvolvimento do Espírito Santo',
'Banco de Desenvolvimento do Paraná',
'Banco do Brasil',
'Banco do Estado de Sergipe Banese Estadual',
'Banco do Estado do Espírito Santo Banestes',
'Banco do Estado do Pará',
'Banco do Estado do Rio Grande do Sul',
'Banco do Nordeste do Brasil',
'Banco Nacional de Desenvolvimento Econômico e Social',
'Banco Regional de Desenvolvimento do Extremo Sul',
'Caixa Econômica Federal',
'Banco ABN Amro S.A.',
'Banco Alfa',
'Banco Banif',
'Banco BBM',
'Banco BMG',
'Banco Bonsucesso',
'Banco BTG Pactual',
'Banco Cacique',
'Banco Caixa Geral - Brasil',
'Banco Citibank',
'Banco Credibel',
'Banco Credit Suisse',
'Góis Monteiro & Co',
'Banco Fator',
'Banco Fibra',
'Agibank',
'Banco Guanabara',
'Banco Industrial do Brasil',
'Banco Industrial e Comercial',
'Banco Indusval',
'Banco Inter',
'Banco Itaú BBA',
'Banco ItaúBank',
'Banco Itaucred Financiamentos',
'Banco Mercantil do Brasil',
'Banco Modal Modal',
'Banco Morada',
'Banco Pan',
'Banco Paulista',
'Banco Pine',
'Banco Renner',
'Banco Ribeirão Preto',
'Banco Safra',
'Banco Santander',
'Banco Sofisa',
'Banco Topázio',
'Banco Votorantim',
'Bradesco Bradesco',
'Itaú Unibanco',
'Banco Original',
'Banco Neon',
'Nu Pagamentos S.A',
'XP Investimentos Corretora de Câmbio Títulos e Valores Mobiliários S.A',
);
/**
* @example 'Banco Neon'
*/
public static function bank()
{
return static::randomElement(static::$banks);
}
}

View File

@@ -4,7 +4,7 @@ namespace Faker\Provider\pt_PT;
class Address extends \Faker\Provider\Address
{
protected static $streetPrefix = array('Av.', 'Avenida', 'R.', 'Rua', 'Travessa', 'Largo');
protected static $streetPrefix = array('Av.', 'Avenida', 'R.', 'Rua', 'Tv.', 'Travessa', 'Lg.', 'Largo');
protected static $streetNameFormats = array(
'{{streetPrefix}} {{lastName}}',

View File

@@ -0,0 +1,16 @@
<?php
namespace Faker\Provider\pt_PT;
class Company extends \Faker\Provider\Company
{
protected static $formats = array(
'{{lastName}} {{companySuffix}}',
'{{lastName}} {{lastName}}',
'{{lastName}} e {{lastName}}',
'{{lastName}} {{lastName}} {{companySuffix}}',
'Grupo {{lastName}} {{companySuffix}}'
);
protected static $companySuffix = array('e Filhos', 'e Associados', 'Lda.', 'S.A.');
}

View File

@@ -0,0 +1,9 @@
<?php
namespace Faker\Provider\pt_PT;
class Internet extends \Faker\Provider\Internet
{
protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'hotmail.com', 'sapo.pt', 'clix.pt', 'mail.pt');
protected static $tld = array('com', 'com', 'pt', 'pt', 'net', 'org', 'eu');
}

View File

@@ -46,9 +46,8 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
public function phoneNumber()
{
$type = static::randomElement(array_keys(static::$normalFormats));
$number = static::numerify(static::randomElement(static::$normalFormats[$type]));
return $number;
return static::numerify(static::randomElement(static::$normalFormats[$type]));
}
public static function tollFreePhoneNumber()

View File

@@ -30,6 +30,18 @@ class Company extends \Faker\Provider\Company
'Реч', 'Флот', 'Cиб', 'Каз', 'Инж', 'Вод', 'Пив', 'Хмель', 'Мяс', 'Томск', 'Омск', 'Север', 'Лен'
);
protected static $catchPhraseWords = array(
array(
'Адаптивная', 'Дополнительно', 'Улучшить', 'Ассимилировали', 'Автоматическая', 'Сбалансированный', 'Бизнес-ориентированных', 'Централизации', 'Клонировать', 'Совместимость', 'Настраивается', 'Кросс-группа', 'Кросс-платформы', 'Клиентоориентированного', 'Децентрализации', 'Де-инженерии', 'Передал', 'Оцифровки', 'Распространяться', 'Разное', 'Габаритами', 'Расширения', 'Предприятия', 'Эргономичность', 'Эксклюзив', 'Расширенный', 'Очного', 'Целенаправленный', 'Фронтовые', 'Полностью настраиваемый', 'Функции', 'Основной', 'Будущее', 'Низовые', 'Горизонтальной', 'Реализовано', 'Инновационных', 'Интегрированный', 'Интуитивно', 'Обратная', 'Управлять', 'Обязательно', 'Наблюдение', 'Многоканальной', 'Многосторонний', 'Многослойная', 'Многоуровневые', 'Сеть', 'Объектно-ориентированный', 'Открытая архитектура', 'Открытое', 'Оперативная', 'Оптимизация', 'Дополнительно', 'Органический', 'Организованная', 'Стойкость', 'Постоянный', 'Постепенно', 'Полярности', 'Превентивный', 'Инициативный', 'Прибыльных', 'Глубокий', 'Программируемый', 'Прогрессивный', 'Ключ', 'Ориентированные на качество', 'Реактивная', 'Реорганизации', 'Повторно контекст', 'Модернизированной', 'Снижается', 'Копирования', 'Размер', 'Надежный', 'Бесшовные', 'Обеспеченный', 'Собственной активации', 'Запрашиваемого', 'Автономный', 'Упорядочить', 'Переключение', 'Синхронизированы', 'Синергетический', 'Согласования', 'Командный', 'Общий', 'Тройной буферизацией', 'Универсальный', 'Размера', 'Комплектация', 'Пользователя', 'Удобный', 'Универсальный', 'Виртуальный', 'Фантазер',
),
array(
'24часа', '24/7', '3-го поколения', '4-го поколения', '5-го поколения', '6-го поколения', 'активация', 'анализ', 'ассиметричный', 'асинхронный', 'ориентированныйнаориентацию', 'фон', 'мониторинг пропускной способности', 'двунаправленный', 'раздвоенный', 'итоговый', 'ясное мышление', 'управляемый клиентом', 'клиент-сервер', 'связный', 'составной', 'контекстно-зависимый', 'контентно-ориентированный', 'выделенный', 'управляемый спросом', 'дидактический', 'направленный', 'дискретный', 'динамический', 'экоцентричный', 'уполномочивающий', 'охватывающий', 'четный', 'исполнительный', 'явный', 'отказоустойчивый', 'передний план', 'свежее мышление', 'полный диапазон', 'глобальный', 'включенный в сетку', 'эвристический', 'высокоуровневый', 'целостный', 'однородный', 'человеческий ресурс', 'гибридный', 'эффективный', 'инкрементальный', 'нематериальный', 'интерактивный', 'промежуточный', 'ведущий', 'локальный', 'логистический', 'развернутый', 'методический', 'критический', 'мобильный', 'модульный', 'мотивирующий', 'мультимедиа', 'мультисостояние', 'многозадачность', 'национальный', 'основанныйнапотребностях', 'нейтральный', 'следующее поколение', 'энергонезависимый', 'объектно-ориентированный', 'оптимальный', 'оптимизирующий', 'радикальный', 'в реальном времени', 'взаимный', 'региональный', 'отзывчивый', 'масштабируемый', 'вторичный', 'ориентированный на решение', 'стабильный', 'статический', 'систематический', 'системный', 'материальный', 'третичный', 'переходный', 'равномерный', 'восходящий тренд', 'ориентированный на пользователя', 'добавленная стоимость', 'веб-поддержка', 'хорошо модулированный', 'нулевое администрирование', 'нулевой дефект', 'нулевая терпимость',
),
array(
'способности', 'открыть', 'адаптер', 'алгоритм', 'альянс', 'анализатор', 'приложения', 'подходить', 'архитектура', 'архив', 'время', 'отношение', 'тест', 'блокчейн', 'возможность', 'емкость', 'вызов', 'цепи', 'сотрудничество', 'сложность', 'понятие', 'конгломерат', 'случай', 'ядро', 'база данных', 'хранилищ данных', 'определение', 'эмуляция', 'кодировка', 'шифрования', 'экстранет', 'прошивки', 'гибкости', 'фокус-групповых', 'прогноз', 'раму', 'основы', 'функция', 'функциональные возможности', 'групповой', 'оборудование', 'число', 'иерархия', 'хаб', 'реализация', 'инфопосредников', 'инфраструктура', 'инициатива', 'монтаж', 'интерфейс', 'интранет', 'базы знаний', 'плечо', 'матрицы', 'матрица', 'методика', 'промежуточного', 'миграции', 'модель', 'модератор', 'контроль', 'мораторий', 'нейронные сети', 'согласование', 'парадигмы', 'параллельность', 'политика', 'портал', 'товара', 'производительности', 'проект', 'прогноз', 'протокол', 'сервис-бюро', 'программное обеспечение', 'решение', 'стандартизации', 'стратегия', 'структура', 'успех', 'надстройка', 'поддержка', 'синергия', 'команду', 'производительности', 'время', 'набор', 'загрузки', 'сайт', 'работников',
),
);
/**
* @link https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%B8
* @note Randomly took from this list - some jobs titles for each letter
@@ -46,6 +58,19 @@ class Company extends \Faker\Provider\Company
'Экономист', 'Электромонтёр'
);
/**
* @example 'Robust full-range hub'
*/
public function catchPhrase()
{
$result = array();
foreach (static::$catchPhraseWords as &$word) {
$result[] = static::randomElement($word);
}
return join(' ', $result);
}
/**
* @example 'ООО АсбестЦементМонтаж'
*/

View File

@@ -105,6 +105,8 @@ class Person extends \Faker\Provider\Person
'Меркушев', 'Лыткин', 'Туров',
);
protected static $lastNameSuffix = array('a', '');
/**
* Return male middle name
*
@@ -154,4 +156,24 @@ class Person extends \Faker\Provider\Person
static::GENDER_FEMALE,
)));
}
/**
* Return last name for the specified gender.
*
* @param string|null $gender A gender of the last name should be generated
* for. If the argument is skipped a random gender will be used.
* @return string Last name
*/
public function lastName($gender = null)
{
$lastName = static::randomElement(static::$lastName);
if (static::GENDER_FEMALE === $gender) {
return $lastName . 'a';
} elseif (static::GENDER_MALE === $gender) {
return $lastName;
}
return $lastName . static::randomElement(static::$lastNameSuffix);
}
}

View File

@@ -46,7 +46,7 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
/**
@@ -59,6 +59,6 @@ class Company extends \Faker\Provider\Company
$result[] = static::randomElement($word);
}
return join($result, ' ');
return join(' ', $result);
}
}

View File

@@ -74,9 +74,9 @@ class Person extends \Faker\Provider\Person
'Cyprich', 'Cíger', 'Dacej', 'Danko', 'Debnár', 'Dej', 'Dekýš', 'Doležal', 'Dostál', 'Dočolomanský', 'Drajna', 'Droppa', 'Dubovský',
'Dudek', 'Dula', 'Dulla', 'Dusík', 'Dvonč', 'Dzurjanin', 'Dávid', 'Fabian', 'Fabián', 'Fajnor', 'Farkašovský', 'Feldek', 'Fico', 'Filc',
'Filip', 'Finka', 'Ftorek', 'Galis', 'Gallo', 'Gašpar', 'Gašparovič', 'Gocník', 'Golonka', 'Greguš', 'Grznár', 'Hablák', 'Habšuda',
'Haluška', 'Halák', 'Hanko', 'Hanzal', 'Hanzel', 'Hanzel', 'Haščák', 'Heretik', 'Hečko', 'Hečková', 'Hlaváček', 'Hlinka', 'Hochschorner',
'Haluška', 'Halák', 'Hanko', 'Hanzal', 'Hanzel', 'Hanzel', 'Haščák', 'Heretik', 'Hečko', 'Hlaváček', 'Hlinka', 'Hochschorner',
'Holub', 'Holuby', 'Horváth', 'Hossa', 'Hraško', 'Hric', 'Hrmo', 'Hrušovský', 'Huba', 'Hudáček', 'Hála', 'Ihnačák', 'Janoška', 'Jantošovič',
'Janík', 'Jonata', 'Jurina', 'Jurinová', 'Jurík', 'Jáni', 'Jánošík', 'Kaliský', 'Karul', 'Karvaš', 'Keníž', 'Klapka', 'Klaus', 'Kolník',
'Janík', 'Jonata', 'Jurina', 'Jurík', 'Jáni', 'Jánošík', 'Kaliský', 'Karul', 'Karvaš', 'Keníž', 'Klapka', 'Klaus', 'Kolník',
'Konstantinidis', 'Korec', 'Kostrec', 'Kováč', 'Kováčik', 'Koza', 'Kubík', 'Kučera', 'Labuda', 'Langoš', 'Lepšík', 'Lexa', 'Lintner',
'Lubina', 'Lukáč', 'Lupták', 'Líška', 'Majeský', 'Malachovský', 'Malíšek', 'Marián', 'Masaryk', 'Maslo', 'Matiaško', 'Medveď', 'Menyhért',
'Mečiar', 'Mečíř', 'Mikloško', 'Mikulík', 'Mikuš', 'Mikúš', 'Mišík', 'Mojžiš', 'Mokroš', 'Molnár', 'Moravčík', 'Musil', 'Mydlo', 'Nagy',

View File

@@ -20,6 +20,37 @@ class Address extends \Faker\Provider\Address
'ซอย', 'ถนน', 'สะพาน', 'วงเวียน', 'แยก',
);
protected static $streetSuffix = array(
'กรุงเกษม', 'กรุงเทพกรีฑา', 'กรุงเทพ-นนทบุรี', 'กรุงธนบุรี', 'กรุงแมน', 'กล้วยน้ำไทตัดใหม่', 'กลันตัน', 'กะออม', 'กระออม', 'กัลปพฤกษ์', 'กัลยาณไมตรี', 'กาญจนาภิเษก', 'กำนันแม้น', 'กำแพงเพชร', 'กำแพงเพชร 1', 'กำแพงเพชร 2', 'กำแพงเพชร 3', 'กำแพงเพชร 4', 'กำแพงเพชร 5', 'กำแพงเพชร 6', 'กำแพงเพชร 7', 'กิ่งแก้ว', 'กิจพานิช', 'เกษมราษฎร์', 'แก้ว', 'แก้วเงินทอง', 'โกสุมรวมใจ', 'ไกรสีห์',
'ขวัญ', 'ขาว', 'ข้าวสาร', 'ข้าวหลาม', 'ขุมทอง-ลำต้อยติ่ง', 'เขียวไข่กา',
'ครุใน', 'คลองเก้า', 'คลองถมวัดพิเรนทร์', 'คลองถมวัดสระเกศ', 'คลองถมวัดโสมนัส', 'คลองลำเจียก', 'คลองลำปัก', 'คลองสิบ-คลองสิบสี่', 'คอนแวนต์', 'คุ้มเกล้า', 'คู้บอน', 'คู้-คลองสิบ', 'เคหะร่มเกล้า',
'งามวงศ์วาน', 'จตุโชติ', 'จรัญสนิทวงศ์', 'จรัสเมือง', 'จรัสเวียง', 'จรูญเวียง', 'จอมทอง', 'จอมทองบูรณะ', 'จักรพงษ์', 'จักรพรรดิพงษ์', 'จักรเพชร', 'จักรวรรดิ', 'จันทน์', 'จันทน์เก่า', 'จันทรุเบกษา', 'จารุเมือง', 'จึงเจริญพาณิชย์', 'เจริญกรุง', 'เจริญนคร', 'เจริญพัฒนา', 'เจริญเมือง', 'เจริญรัถ', 'เจริญราษฎร์', 'เจริญเวียง', 'เจ้าคำรพ', 'เจ้าคำรบ', 'เจ้าคุณทหาร', 'เจ้าพระยาสยาม', 'เจ้าฟ้า', 'แจ้งวัฒนะ',
'ฉลองกรุง', 'ฉิมพลี', 'เฉลิมเขต 1', 'เฉลิมเขต 2', 'เฉลิมเขต 3', 'เฉลิมเขต 4', 'เฉลิมพงษ์', 'เฉลิมพระเกียรติ ร.9', 'แฉล้มนิมิตร',
'ชักพระ', 'ชัยพฤกษ์', 'ช่างอากาศอุทิศ', 'ชิดลม', 'เชตุพน', 'เชิดวุฒากาศ', 'เชียงใหม่', 'เชื้อเพลิง', 'เชื่อมคลองมอญ', 'เชื่อมสัมพันธ์', 'โชคชัย 4',
'ณ ระนอง',
'ดวงพิทักษ์', 'ดาวข่าง', 'ดำรงรักษ์', 'ดินแดง', 'ดินแดง 1', 'ดินสอ', 'ดิสมาร์ค', 'เดชะตุงคะ', 'เดโช',
'ตรีเพชร', 'ตรีมิตร', 'ตะนาว', 'ตานี', 'ตีทอง', 'เตชะวณิช',
'ทรงวาด', 'ทรงสวัสดิ์', 'ทรงเสริม', 'ทรัพย์', 'ทรัพย์สิน', 'ทวีวัฒนา', 'ทวีวัฒนา-กาญจนาภิเษก', 'ทหาร', 'ทหารอากาศอุทิศ', 'ทับยาว', 'ท่าเกษม', 'ท่าข้าม', 'ทางรถไฟสายเก่าปากน้ำ', 'ท่าดินแดง', 'ท้ายวัง', 'ทุ่งมังกร', 'เทศบาลนฤมาณ', 'เทศบาลนิมิตใต้', 'เทศบาลนิมิตเหนือ', 'เทศบาลรังรักษ์ใต้', 'เทศบาลรังรักษ์เหนือ', 'เทศบาลรังสรรใต้', 'เทศบาลรังสรรเหนือ', 'เทศบาลรังสฤษดิ์ใต้', 'เทศบาลรังสฤษดิ์เหนือ', 'เทศบาลสงเคราะห์', 'เทอดดำริ', 'เทอดไท', 'เทิดราชัน', 'เทียมร่วมมิตร', 'ไทยรามัญ',
'ธนิยะ',
'นครไชยศรี', 'นครปฐม', 'นครราชสีมา', 'นครลุง', 'นครสวรรค์', 'นนทรี', 'นราธิวาสราชนครินทร์', 'นเรศ', 'นวมินทร์', 'นวลจันทร์', 'นักกีฬาแหลมทอง', 'นาคนิวาส', 'นาคราช', 'นางลิ้นจี่', 'นาวงประชาพัฒนา', 'นิคมมักกะสัน', 'นิมิตใหม่', 'นิลเหมนิยม', 'นี้จงสวัสดิ์',
'บรมราชชนนี', 'บรรทัดทอง', 'บริพัตร', 'บวรนิเวศน์', 'บางกระดี่', 'บางขุนเทียน', 'บางขุนเทียน-ชายทะเล', 'บางขุนนนท์', 'บางแค', 'บางเชือกหนัง', 'บางนา-ตราด', 'บางบอน 1', 'บางบอน 2', 'บางบอน 3', 'บางบอน 4', 'บางบอน 5', 'บางบอนสายเดิม', 'บางไผ่', 'บางพรม', 'บางระมาด', 'บางแวก', 'บ้านหม้อ', 'บำรุงเมือง', 'บึงขวาง', 'บุญศิริ', 'บุรีภิรมย์', 'บูรณศาสตร์', 'บูรพา', 'แบนชะโด', 'แบรสต์',
'ประชาชื่น', 'ประชาทร', 'ประชาธิปก', 'ประชาธิปไตย', 'ประชาพัฒนา', 'ประชาร่วมใจ', 'ประชาราษฎร์ สาย 1', 'ประชาราษฎร์ สาย 2', 'ประชาราษฎร์บำเพ็ญ', 'ประชาสงเคราะห์', 'ประชาสำราญ', 'ประชาสุข', 'ประชาอุทิศ', 'ประดิพัทธิ์', 'ประดิษฐ์มนูธรรม', 'ประมวญ', 'ประเสริฐมนูกิจ', 'ปรินายก', 'ปั้น', 'ปากน้ำกระโจมทอง', 'ปากน้ำฝั่งเหนือ', 'แปลงนาม',
'ผดุงด้าว', 'ผดุงพันธ์',
'พญาไท', 'พญาไม้', 'พรหมราษฎร์', 'พระจันทร์', 'พระพิทักษ์', 'พระพิพิธ', 'พระยาสุเรนทร์', 'พระราม 1', 'พระราม 2', 'พระราม 3', 'พระราม 4', 'พระราม 5', 'พระราม 6', 'พระราม 9', 'พระสุเมรุ', 'พระอาทิตย์', 'พรานนก', 'พลับพลาไชย', 'พ่วงศิริ', 'พหลโยธิน', 'พะเนียง', 'พัฒน์พงศ์', 'พัฒนา', 'พัฒนาการ', 'พัฒนาชนบท', 'พัฒนาชนบท 2', 'พัฒนาชนบท 3', 'พัฒนาชนบท 4', 'พาณิชยการธนบุรี', 'พาดสาย', 'พาหุรัด', 'พิชัย', 'พิบูลสงคราม', 'พิษณุโลก', 'พีรพงษ์', 'พุทธบูชา', 'พุทธมณฑล สาย 1', 'พุทธมณฑล สาย 2', 'พุทธมณฑล สาย 3', 'เพชรเกษม', 'เพชรบุรี', 'เพชรพระราม', 'เพชรอุทัย', 'เพลินจิต', 'เพาะพานิชย์', 'เพิ่มสิน', 'แพร่งนรา', 'แพร่งภูธร', 'แพร่งสรรพศาสตร์', 'โพธิ์แก้ว',
'เฟื่องนคร',
'ภาณุรังษี', 'ภุชงค์', 'โภคี',
'มหรรณพ', 'มหาจักร', 'มหาไชย', 'มหานคร', 'มหาพฤฒาราม', 'มหาราช', 'มหาเศรษฐ์', 'มเหสักข์', 'มไหสวรรย์', 'มอเตอร์เวย์', 'มังกร', 'มาเจริญ', 'มิตรพันธ์', 'มิตรภาพไทย-จีน', 'มิตรไมตรี', 'มิตรไมตรี 1', 'มิตรไมตรี 2', 'มิตรไมตรี 3', 'มีนพัฒนา', 'แมนไท', 'ไมตรีจิต',
'ยมราชสุขุม', 'ยังพัธนา', 'ยานนาวา', 'ยี่สิบสองกรกฎาคม 1', 'ยี่สิบสองกรกฎาคม 2', 'ยี่สิบสองกรกฎาคม 3', 'ยี่สิบสองกรกฎาคม 4', 'ยี่สิบสองกรกฎาคม 5', 'ยุคล 1', 'ยุคล 2', 'เย็นจิต', 'เย็นอากาศ', 'เยาวพานิชย์', 'เยาวราช', 'แยกสวนสยาม', 'โยธา', 'โยธา 1', 'โยธินพัฒนา', 'โยธี',
'ร่มเกล้า', 'ร่วมจิตต์', 'ร่วมพัฒนา', 'รองเมือง', 'ระนอง 1', 'ระนอง 2', 'รัชดาภิเษก', 'รัชดา-รามอินทรา', 'รัชมงคลประสาธน์', 'รางน้ำ', 'ราชดำเนินกลาง', 'ราชดำเนินนอก', 'ราชดำเนินใน', 'ราชดำริ', 'ราชบพิธ', 'ราชปรารภ', 'ราชพฤกษ์', 'ราชมนตรี', 'ราชวงศ์', 'ราชวิถี', 'ราชินี', 'รามคำแหง', 'รามคำแหง 2', 'รามบุตรี', 'รามอินทรา', 'ราษฎร์นิมิตร', 'ราษฎร์บูรณะ', 'ราษฎร์พัฒนา', 'ราษฎร์ร่วมใจ', 'ราษฎร์รัฐพัฒนา', 'ราษฎร์อุทิศ', 'ริมคลองประปาฝั่งขวา', 'ริมคลองประปาฝั่งซ้าย', 'รุ่งประชา',
'ลงท่า', 'ลาซาล', 'ลาซาล-แบริ่ง', 'ลาดกระบัง', 'ลาดปลาเค้า', 'ลาดพร้าว', 'ลาดพร้าววังหิน', 'ลาดหญ้า', 'ลำไทร', 'ลำพูนไชย', 'ลำมะเขือขื่น', 'ลิขิต', 'ลูกหลวง', 'เลียบคลองเนินทราย', 'เลียบคลองบางพรม', 'เลียบคลองปทุม', 'เลียบคลองผดุงกรุงเกษม', 'เลียบคลองพิทยาลงกรณ์', 'เลียบคลองภาษีเจริญฝั่งใต้', 'เลียบคลองภาษีเจริญฝั่งเหนือ', 'เลียบคลองมอญ', 'เลียบคลองลำกอไผ่', 'เลียบคลองสอง', 'เลียบคลองสิบสามฝั่งตะวันตก', 'เลียบคลองสิบสามฝั่งตะวันออก', 'เลียบทะเลสาบ', 'เลียบวารี',
'วงศ์สว่าง', 'วรจักร', 'วังเจ้าสาย', 'วังเดิม', 'วังหลัง', 'วัชรพล', 'วัฒนธรรม', 'วัดเวฬุวนาราม', 'วัดสุขใจ', 'วัดใหม่เจริญราษฎร์', 'วิทยุ', 'วิบูลย์สาธุกิจ', 'วิบูลย์สาธุกิจ', 'วิวัฒน์เวียง', 'วิสุทธิกษัตริย์', 'วุฒากาศ',
'ศรีธรรมาธิราช', 'ศรีนครินทร์', 'ศรีบูรพา', 'ศรีวรา', 'ศรีเวียง', 'ศรีอยุธยา', 'ศาลาแดง', 'ศาลาธรรมสพน์', 'ศิริเกษม', 'ศิริพงษ์', 'ศุภมิตร', 'เศรษฐศิริ', 'เศรษฐศิริ 2', 'สกุลดี',
'สตรีวิทยา 2', 'สนามไชย', 'สมเด็จเจ้าพระยา', 'สมเด็จพระเจ้าตากสิน', 'สมเด็จพระปิ่นเกล้า', 'สรงประภา', 'สรณคมน์', 'สรรพาวุธ', 'สราญรมย์', 'สวนผัก', 'สวนพลู', 'สวนสยาม', 'สวนอ้อยซอยกลาง', 'สวรรคโลก', 'สวัสดิการ 1', 'สวัสดิการ 2', 'สวัสดิการ 3', 'สว่าง', 'สะแกงาม', 'สะพานพุทธ', 'สังคมสงเคราะห์', 'สังคโลก', 'สังฆประชา', 'สังฆสันติสุข', 'สันติภาพ', 'สาทรใต้', 'สาทรเหนือ', 'สาธุประดิษฐ์', 'สามวา', 'สามเสน', 'สายไหม', 'สารสิน', 'สารีบุตร', 'สารีบุตร-ทับยาว', 'สาลีรัฐวิภาค', 'สิบสามห้าง', 'สิรินธร', 'สี่พระยา', 'สีลม', 'สีหบุรานุกิจ', 'สุขสวัสดิ์', 'สุขาภิบาล 2', 'สุขาภิบาล 5', 'สุขาภิบาลบางระมาด', 'สุขุมวิท', 'สุโขทัย', 'สุคนธสวัสดิ์', 'สุคันธาราม', 'สุดประเสริฐ', 'สุทธาวาส', 'สุทธิสารวินิจฉัย', 'สุนทรโกษา', 'สุพรรณ', 'สุรวงศ์', 'สุรศักดิ์', 'สุวินทวงศ์', 'สุเหร่าคลองหนึ่ง', 'เสนานิคม 1', 'เสรีไทย', 'เสือป่า', 'แสนเกษม', 'แสมดำ',
'หทัยมิตร', 'หทัยราษฎร์', 'หนองแขม-วัดศรีนวล', 'หนองระแหง', 'หน้าพระธาตุ', 'หน้าพระลาน', 'หน้าหับเผย', 'หม่อมเจ้าสง่างาม สุประดิษฐ์', 'หมู่บ้านเศรษฐกิจ', 'หลวง', 'หลวงพรตพิทยพยัต', 'หลวงแพ่ง', 'หลักเมือง', 'หลังสวน', 'หลานหลวง', 'หอวัง', 'หัวหมาก',
'อนันตนาค', 'อนามัยงามเจริญ', 'อนุวงศ์', 'อยู่เย็น', 'อยู่วิทยา', 'อรุณอมรินทร์', 'อโศก-ดินแดง', 'อโศกมนตรี', 'อ่อนนุช', 'อังรีดูนังต์', 'อัศวพิเชษฐ์', 'อัษฎางค์', 'อัสสัมชัญ', 'อาจณรงค์', 'อำนวยสงคราม', 'อินทรพิทักษ์', 'อินทราวาส', 'อิสรภาพ', 'อุณากรรณ', 'อุดมสุข', 'อุทยาน', 'อู่ทองนอก', 'อู่ทองใน', 'เอกชัย',
'60 พรรษามหาราชินี'
);
protected static $postcode = array('#####');
/**
@@ -71,8 +102,7 @@ class Address extends \Faker\Provider\Address
);
protected static $streetNameFormats = array(
'{{firstName}} {{streetSuffix}}',
'{{lastName}} {{streetSuffix}}'
'{{streetPrefix}} {{streetSuffix}}'
);
protected static $streetAddressFormats = array(
@@ -91,6 +121,14 @@ class Address extends \Faker\Provider\Address
return static::randomElement(static::$cityPrefix);
}
/**
* @example 'ถนน'
*/
public static function streetPrefix()
{
return static::randomElement(static::$streetPrefix);
}
/**
* @example 'กรุงเทพมหานคร'
*/

View File

@@ -0,0 +1,85 @@
<?php
namespace Faker\Provider\th_TH;
class Person extends \Faker\Provider\Person
{
protected static $maleNameFormats = array(
'{{firstNameMale}} {{lastName}}',
'{{firstNameMale}} {{lastName}}',
'{{firstNameMale}} {{lastName}}',
'{{firstNameMale}} {{lastName}}',
'{{titleMale}} {{firstNameMale}} {{lastName}}',
'{{firstNameMale}} {{lastName}} {{suffix}}',
'{{titleMale}} {{firstNameMale}} {{lastName}} {{suffix}}',
);
protected static $femaleNameFormats = array(
'{{firstNameFemale}} {{lastName}}',
'{{firstNameFemale}} {{lastName}}',
'{{firstNameFemale}} {{lastName}}',
'{{firstNameFemale}} {{lastName}}',
'{{titleFemale}} {{firstNameFemale}} {{lastName}}',
'{{firstNameFemale}} {{lastName}} {{suffix}}',
'{{titleFemale}} {{firstNameFemale}} {{lastName}} {{suffix}}',
);
protected static $firstNameMale = array(
'กฤต', 'กฤติพงศ์', 'กฤติเดช', 'กฤษฎา', 'กฤษฎิ์', 'กฤษณะ', 'กฤษณ์', 'กันตพงศ์', 'กันตภณ', 'กำจร', 'กิตติ', 'กิตติภณ', 'กิตติศักดิ์', 'ก้องภพ', 'คมกฤช', 'คมสันต์', 'ครรชิต', 'ครองฤทธิ์', 'คำรณ', 'คึกฤทธิ์', 'จตุภัทร', 'จรัล', 'จรูญ', 'จอมเดช', 'จาตุรนต์', 'จารุกิตติ์', 'จารุวัฒน์',
'จารุวิทย์', 'จารุเดช', 'จิตรายุธ', 'จิรพัฒน์', 'จิรายุ', 'จิรายุทธ', 'จิรเดช', 'จิรโชติ', 'จีรยุทธ', 'จุมพล', 'ฉันทพล', 'ฉันทพัฒน์', 'ชนกันต์', 'ชนะศึก', 'ชัชชัย', 'ชัชวาลย์', 'ชัยณรงค์', 'ชัยนันท์', 'ชัยมงคล', 'ชัยวุฒิ', 'ชัยโรจน์', 'ชาญชัย', 'ชาญรบ', 'ชาตพล', 'ชานนท์', 'ชิษณุพงศ์', 'ชุติเดช', 'ฐิติพงศ์', 'ฐิติภัทร', 'ณรงค์',
'ณรงค์กร', 'ณรงค์ชัย', 'ณรงค์ฤทธิ์', 'ณัฏฐกิตติ์', 'ณัฏฐชัย', 'ณัฏฐพล', 'ณัฐกฤต', 'ณัฐชนน', 'ณัฐพงศ์', 'ณัฐภูมิ', 'ณัฐฤกษ์', 'ณัฐวิโรจน์', 'ดนัย', 'ดนุเดช', 'ดลฤทธิ์', 'ดุลยศักดิ์', 'ตรีภพ', 'ติณณภพ', 'ต้นกล้า', 'ทรงกฤต', 'ทรงภพ',
'ทรงวุฒิ', 'ทวีเดช', 'ทัดภูมิ', 'ทิฐิพล', 'ทินภัทร', 'ทีปกร', 'ธงชัย', 'ธนกร', 'ธนกฤต', 'ธนชาติ', 'ธนชิต', 'ธนภัทร', 'ธนภูมิ', 'ธนศักดิ์', 'ธนัชชัย', 'ธนาธิป', 'ธนเดช', 'ธนโชติ', 'ธรรมศักดิ์', 'ธวัชชัย', 'ธัญวิทย์', 'ธานินทร์', 'ธารินทร์',
'ธิติ', 'ธีธัช', 'ธีรนัย', 'ธีรพล', 'ธเนศ', 'นพณัฐ', 'นพเดช', 'นรวุฒิ', 'นรสิงห์', 'นราธิป', 'นฤชิต', 'นันทภพ', 'บรรพต', 'บรรยงค์', 'บวรชัย', 'บวรพจน์', 'บวรวิทย์', 'บัณฑิต', 'บันลือศักดิ์', 'บัลลพ', 'บุญฤทธิ์', 'บุญส่ง', 'บุญโชค', 'บุรินทร์',
'ปกรณ์', 'ปฏิพล', 'ปณต', 'ประชา', 'ประพจน์', 'ประเสริฐ', 'ปรัชญา', 'ปัญจพล', 'ปานศักดิ์', 'ปิติ', 'ปิติพงศ์', 'ปิยวัฒน์', 'ป้องเกียรติ', 'ผดุงศักดิ์', 'ผดุงเดช', 'พงศ์กฤต', 'พงศ์พัทธ์', 'พงศ์เดช', 'พลภัทร', 'พลวัต', 'พันธ์พงษ์',
'พันเดช', 'พัลลภ', 'พาทิศ', 'พิพัฒน์', 'พิริยะศักดิ์', 'พิสิษฐ์', 'พิเชษฐ', 'พีรพล', 'พีรพัฒน์', 'พีรเทพ', 'พุฒิพงศ์', 'ภควัต', 'ภัคพล', 'ภัทร', 'ภัทรกร', 'ภากร', 'ภาคิน', 'ภาณุพงศ์', 'ภาณุภัทร', 'ภานุวัฒน์',
'ภูมิ', 'ภูมิพัฒน์', 'ภูริช', 'ภูวดล', 'ภูวเดช', 'ภูสิทธิ', 'มงคล', 'มงคลชัย', 'มนภาส', 'มนุญศักดิ์', 'มานะ', 'ยุทธการ', 'ราเชน', 'วรพจน์', 'วรพล', 'วรวุฒิ', 'วรุตม์', 'วรเทพ', 'วรเมธ', 'วัชรพล', 'วัลลภ',
'วิกรม', 'วิชาญ', 'วิทวัส', 'วิบูลย์', 'วิวัฒน์ชัย', 'วิโรจน์', 'วีรพล', 'วีรยุทธ', 'วีรเดช', 'วุฒิชัย', 'วุฒิชาติ', 'วุฒิเดช', 'ศักดา', 'ศุภกิจ', 'ศุภณัฐ', 'สมชาย', 'สมศักดิ์', 'สิทธินนท์', 'สิทธิเดช', 'สุกฤษฎิ์', 'สุทธินันท์',
'สุทธิพงษ์', 'สุบรรณ', 'สุเมธ', 'อดิรุจ', 'อดิเทพ', 'อดุลย์', 'อติชาติ', 'อนันตชัย', 'อนุชิต', 'อนุทิศ', 'อนุพนธ์', 'อนุภัทร', 'อนุรักข์', 'อภิคม', 'อภิชาติ', 'อรรคพล', 'อรรณพ', 'อรรณวุฒิ', 'อัคคเดช', 'อัครชัย', 'อาชวิน', 'อาณัติ', 'อานนท์', 'อานันท์', 'อารักษ์', 'อิทธิชัย', 'อิทธิพัทธ์', 'เกริกไกร',
'เจตน์', 'เจตพล', 'เจนศักดิ์', 'เจษฎา', 'เจิมศักดิ์', 'เชิดชาย', 'เด่นภูมิ', 'เตชภณ', 'เตชินท์', 'เป็นต่อ', 'เผชิญชัย', 'เผด็จ', 'เผ่าเทพ', 'เมธัส', 'เรวัติ', 'เรืองโรจน์', 'เสกข์', 'เหมรัชต์', 'เอกภพ', 'แสงโชติ', 'โกมุท', 'โกเมน', 'โกเมศ', 'โฆษิต', 'โพธิวัฒน์', 'โยธิต', 'โอภาส', 'โอฬาร', 'ไกรยุทธ์', 'ไชยวัฒน์', 'ไตรภพ', 'ไพศาล'
);
protected static $firstNameFemale = array(
'กชวรรณ', 'กนกกาญจน์', 'กนกทิพย์', 'กนกนุช', 'กนกพรรณ', 'กนกรัตน์', 'กนกวรรณ', 'กนกอร', 'กมลกานต์', 'กมลฉัตร', 'กมลชนก', 'กมลทิพย์', 'กมลรัตน์', 'กมลวรรณ', 'กมลา', 'กมลเนตร', 'กรกนก', 'กรกมล', 'กรรณิกา', 'กรรณิการ์', 'กรวรรณ', 'กรวิกา', 'กรวิภา', 'กรองกาญจน์', 'กรองแก้ว', 'กรุณา', 'กฤตยา', 'กวินทิพย์', 'กัลยรัตน์', 'กัลยา',
'กัลยาณี', 'กัลยาณี', 'กานต์ธิดา', 'กิตติมา', 'กิรติกา', 'กิ่งกาญจน์', 'กิ่งแก้ว', 'กุสุมา', 'ขจีพรรณ', 'ขวัญจิรา', 'ขวัญตา', 'ขวัญทิพย์', 'ขวัญแก้ว', 'ครองพร', 'คะนึงจิต', 'คะนึงนิตย์', 'คำหยาด', 'จรรยา', 'จรัญพร', 'จรูญพรรณ', 'จันทนา', 'จันทนิภา',
'จันทร์จิรา', 'จันทร์เพ็ญ', 'จารีรัตน์', 'จารุณี', 'จารุวรรณ', 'จิดาภา', 'จิตตนาถ', 'จิตติมา', 'จิตรลดา', 'จิตรานุช', 'จินดา', 'จินดาพรรณ', 'จินดารัตน์', 'จินตนา', 'จินตพร', 'จินตภา', 'จิรนาถ', 'จิรัชญา', 'จีรพรรณ', 'จุฑาทิพย์',
'จุฑาภรณ์', 'จุฑามณี', 'จุฑารัตน์', 'จุไรรัตน์', 'จุไรวรรณ', 'ฉวีผ่อง', 'ฉัตราภรณ์', 'ชงโค', 'ชนกนันท์', 'ชนกนาถ', 'ชนนิภา', 'ชนิกานต์', 'ชนิดา', 'ชนิภา', 'ชมพูนุช', 'ชยาภา', 'ชลธิชา', 'ชลธิดา', 'ชลิตา', 'ชาลินี', 'ชิดชนก', 'ชุติกา', 'ชุติกาญจน์',
'ชุติภา', 'ชุติมน', 'ชุติมา', 'ช่อทิพย์', 'ฐปนีย์', 'ฐาปนีย์', 'ฐิตาพร', 'ฐิตารีย์', 'ฐิติกร', 'ฐิติกาญจน์', 'ฐิติพร', 'ฐิติพรรณ', 'ฐิติภา', 'ฐิติมา', 'ณฐินี', 'ณฤดี', 'ณัชชา', 'ณัฏฐธิดา', 'ณัฏฐิกา', 'ณัฏฐินี', 'ณัฐกานต์', 'ณัฐชยา', 'ณัฐชา', 'ณัฐฐา', 'ณัฐวดี',
'ณิชกานต์', 'ณิชมน', 'ณิชา', 'ณิชารีย์', 'ณีรนุช', 'ดลพร', 'ดวงแข', 'ดารณี', 'ดารินทร์', 'ดาวเรือง', 'ดุจดาว', 'ถวิกา', 'ถิรดา', 'ทองปลิว', 'ทัดดาว', 'ทิพนาถ', 'ทิพปภา', 'ทิพย์รัตน์', 'ธนพร', 'ธนัญญา', 'ธนิดา', 'ธัญชนก', 'ธัญญรัตน์', 'ธัญญา', 'ธัญทิพย์',
'ธัญพร', 'ธัญพิมล', 'ธัญรัตน์', 'ธันยชนก', 'ธันยพร', 'ธารทิพย์', 'ธาริณี', 'ธิดารัตน์', 'ธิดาวรรณ', 'นงนุช', 'นภา', 'นภาพร', 'นภาพรรณ', 'นภาวรรณ', 'นรีรัตน์', 'นฤมล', 'นลิน', 'นันทฉัตร', 'นันทนา', 'นันทิกานต์', 'นันทิชา', 'นันทิตา', 'นันทินี', 'นาถสุดา', 'นิชา',
'นิชาภา', 'นิรชา', 'บุณยนุช', 'บุณยพร', 'บุปผา', 'บุษบา', 'บุหลัน', 'ปฐมา', 'ปณิดา', 'ปนัดดา', 'ประกายแก้ว', 'ประภัสสร', 'ประภารัตน์', 'ประไพพรรณ', 'ปรางทิพย์', 'ปราญชลี', 'ปรียา', 'ปรียาดา', 'ปรียานุช', 'ปวันรัตน์', 'ปวีณอร', 'ปัญญารัตน์',
'ปัทมา', 'ปัทมาพร', 'ปานชนก', 'ปาริฉัตร', 'ปิยธิดา', 'ปิยนุช', 'ปิยะพรรณ', 'ปิยะวรรณ', 'ปุณยภา', 'ผกาพรรณ', 'ผดุงพร', 'พรทิพา', 'พรนภา', 'พรประภา', 'พรพรรณ', 'พรพิมล', 'พรรณทิพย์', 'พรรนิภา', 'พรไพลิน', 'พวงผกา', 'พัชรมัย', 'พัชรีวรรณ', 'พิมพ์ผกา', 'พิมพ์พรรณ', 'พิมพ์อัปสร', 'พิมลภา', 'พิมลรัตน์', 'พิศมัย',
'ภัทรธิดา', 'ภัทรลดา', 'ภัทรวรรณ', 'ภารวี', 'ภาวินี', 'มณีรัตน์', 'มัลลิกา', 'มาลินี', 'มินตรา', 'ยุพา', 'รติมา', 'รัชนี', 'รัตนประภา', 'รุจยา', 'รุจิราพร', 'ลดามณี', 'ลำดวน', 'วรกานต์', 'วรรณพร', 'วราภรณ์', 'วลัยพร', 'วลัยพรรณ', 'วลัยสมร', 'วลีรัตน์', 'วัชราภรณ์',
'วันทนีย์', 'วิภาดา', 'วิมลรัตน์', 'วิไลรัตน์', 'วิไลวรรณ', 'วีณา', 'ศันสนีย์', 'สมพร', 'สมศรี', 'สมหญิง', 'สาวิตรี', 'สุนิสา', 'อภิรดี', 'อรจิรา', 'อรชร', 'อรณิชา', 'อรนุช', 'อรพรรณ', 'อรพิมพ์', 'อรพิมล', 'อลิน', 'อังคณา', 'อัจฉรา', 'อัจฉราพร', 'อัญชลิกา', 'อาภรณ์', 'อินตรา', 'อุไรวรรณ', 'เกตุมณี',
'เกวลิน', 'เขมจิรา', 'เขมิกา', 'เครือวัลย์', 'เจนจิรา', 'เบญจพร', 'เบญจภรณ์', 'เบญจรัตน์', 'เบญจวรรณ', 'เพ็ญประภา', 'เพ็ญแข', 'เภตรา', 'เมธินี', 'เลอลักษณ์', 'เสาวรส', 'แก้วทิพย์', 'แสงจันทร์', 'โชติกา', 'ไฉววงศ์', 'ไปรยา', 'ไลลา',
'ไอริณ',
);
protected static $lastName = array(
'กติยา', 'กมลานันท์', 'กล้านอนหงาย', 'กองการ', 'กางมุ้งคอย', 'กาญจนวิภู', 'กำธรเจริญ', 'กิจจานุรักษ์', 'กิตติธร', 'ครองจินดา', 'งามระลึก', 'จันทร์ประดับ', 'จิตประสงค์', 'จิตมานะ', 'จิตสะอาด', 'จิรามณี', 'จุฑาเทพ ณ อยุธยา', 'ชมชอบ', 'ชอบนอนหงาย', 'ดำรงลาวรรณ', 'ดิเรกวิทยา', 'ตะลุมพุก', 'ทวิพักตร์', 'ทองดี', 'ทองม่วง', 'นทีพิทักษ์', 'นิมิตนาม',
'บาดตาสาว', 'บินทะลุบ้าน', 'บุญมั่น', 'ปรปักษ์เป็นจุล', 'ประจัญบาน', 'ประภาพร', 'ปืนครก', 'พงศ์พิทักษ์', 'พจน์จำเนียร', 'พรรณาราย', 'พิชัยรณรงค์', 'พิทักษ์ไทย', 'พึ่งสุข', 'พุ่มฉัตร', 'มณีน้อย', 'มนูญศักดิ์', 'มหานิยม', 'ยอดยาใจ', 'รอดคงรวย', 'รักธรรม', 'รักสำราญ', 'รัตนามิรา', 'รัตนเดชากร', 'รุจิอาภรณ์', 'วงศ์บันเทิง', 'วงศ์สินวิเศษ',
'วรรณดำรง', 'วรเลิศรัตน์', 'วังชัยศรี', 'วาทะศรัทธา', 'วิทยเขตปภา', 'วิไลสักดิ์', 'ศรีเจริญ', 'ศิลามหาฤกษ์', 'ศิวาวงศ์', 'สมคำนึง', 'สมุทรเทวา', 'สันตติวงศ์', 'สันต์สิริศักดิ์', 'สัมพันธ์พงษ์', 'สำราญฤทธิ์', 'สุรบดินทร์', 'สูญสิ้นภัย', 'หงส์แก้ว', 'หนึ่งในยุทธจักร', 'หวังกระแทกคาง', 'อดุสาระดี', 'อัศวรัช', 'อัศวเรืองฤทธิ์', 'อาจฤทธิ์', 'เกตุอารี',
'เกิดความสุข', 'เกิดงามพริ้ง', 'เก่งระดมยิง', 'เจนพานิชย์สกุล', 'เจริญเดช', 'เทพทัต', 'เทพสุวรรณ', 'เที่ยงธรรม', 'เบี้ยวสกุล', 'เหนือกาล', 'แก้วมณีงาม', 'แสนชล', 'โชคช่วย', 'ไชยวัฒนา'
);
protected static $suffix = array('Jr.', 'Sr.', 'I', 'II', 'III', 'IV', 'V', 'MD', 'DDS', 'PhD', 'DVM');
/**
* @example 'PhD'
*/
public static function suffix()
{
return static::randomElement(static::$suffix);
}
/**
* @example '123-45-6789'
*/
public static function ssn()
{
$area = mt_rand(0, 1) ? static::numberBetween(1, 665) : static::numberBetween(667, 899);
$group = static::numberBetween(1, 99);
$serial = static::numberBetween(1, 9999);
return sprintf("%03d-%02d-%04d", $area, $group, $serial);
}
}

View File

@@ -234,14 +234,14 @@ class Address extends \Faker\Provider\Address
protected static $city = array(
'Вінниця',
'Луцьк',
'Дніпропетровськ',
'Дніпро',
'Донецьк',
'Житомир',
'Ужгород',
'Запоріжжя',
'Івано-Франківськ',
'Київ',
'Кіровоград',
'Кропивницький',
'Луганськ',
'Львів',
'Миколаїв',

View File

@@ -17,9 +17,9 @@ class Person extends \Faker\Provider\Person
protected static $firstNameMale = array(
'Євген', 'Адам', 'Олександр', 'Олексій', 'Анатолій', 'Андрій', 'Антон', 'Артем', 'Артур', 'Борис', 'Вадим', 'Валентин', 'Валерій',
'Василь', 'Віталій', 'Володимир', 'Владислав', 'Геннадій', 'Георгій', 'Григорій', 'Данил', 'Данило', 'Денис', 'Дмитро',
'Євген', 'Іван', 'Ігор', 'Йосип', 'Кирил', 'Костянтин', 'Лев', 'Леонід', 'Максим', 'Мирослав', 'Михайло', 'Назар',
'Євгеній', 'Іван', 'Ігор', 'Йосип', 'Кирил', 'Костянтин', 'Лев', 'Леонід', 'Максим', 'Мирослав', 'Михайло', 'Назар',
'Микита', 'Микола', 'Олег', 'Павло', 'Роман', 'Руслан', 'Сергій', 'Станіслав', 'Тарас', 'Тимофій', 'Федір',
'Юрій', 'Ярослав', 'Богдан', 'Болеслав', 'B\'ячеслав',' Bалерій',' Bсеволод',' Bіктор', 'Ілля'
'Юрій', 'Ярослав', 'Богдан', 'Болеслав', 'В\'ячеслав', 'Валерій', 'Всеволод', 'Віктор', 'Ілля'
);
protected static $firstNameFemale = array(

View File

@@ -12,6 +12,10 @@ class Person extends \Faker\Provider\Person
'{{lastName}}{{firstNameFemale}}',
);
protected static $titleMale = array('先生', '医生', '老师', '教授', '律师', '经理');
protected static $titleFemale = array('女士', '小姐', '夫人', '太太', '医生', '老师', '教授', '律师', '经理');
/**
* According to http://baike.baidu.com/view/6109935.htm,
* these are the top 300 lastnames from the 6th Chinese national census of population,

View File

@@ -22,7 +22,7 @@ class Person extends \Faker\Provider\Person
'M' => 21,
'N' => 22,
'O' => 35,
'p' => 23,
'P' => 23,
'Q' => 24,
'T' => 27,
'U' => 28,

View File

@@ -1,306 +0,0 @@
<?php
namespace Faker\Test\Calculator;
use Faker\Calculator\Iban;
use PHPUnit\Framework\TestCase;
class IbanTest extends TestCase
{
public function checksumProvider()
{
return array(
array('AL47212110090000000235698741', '47'),
array('AD1200012030200359100100', '12'),
array('AT611904300234573201', '61'),
array('AZ21NABZ00000000137010001944', '21'),
array('BH67BMAG00001299123456', '67'),
array('BE68539007547034', '68'),
array('BA391290079401028494', '39'),
array('BR7724891749412660603618210F3', '77'),
array('BG80BNBG96611020345678', '80'),
array('CR0515202001026284066', '05'),
array('HR1210010051863000160', '12'),
array('CY17002001280000001200527600', '17'),
array('CZ6508000000192000145399', '65'),
array('DK5000400440116243', '50'),
array('DO28BAGR00000001212453611324', '28'),
array('EE382200221020145685', '38'),
array('FO6264600001631634', '62'),
array('FI2112345600000785', '21'),
array('FR1420041010050500013M02606', '14'),
array('GE29NB0000000101904917', '29'),
array('DE89370400440532013000', '89'),
array('GI75NWBK000000007099453', '75'),
array('GR1601101250000000012300695', '16'),
array('GL8964710001000206', '89'),
array('GT82TRAJ01020000001210029690', '82'),
array('HU42117730161111101800000000', '42'),
array('IS140159260076545510730339', '14'),
array('IE29AIBK93115212345678', '29'),
array('IL620108000000099999999', '62'),
array('IT60X0542811101000000123456', '60'),
array('KZ86125KZT5004100100', '86'),
array('KW81CBKU0000000000001234560101', '81'),
array('LV80BANK0000435195001', '80'),
array('LB62099900000001001901229114', '62'),
array('LI21088100002324013AA', '21'),
array('LT121000011101001000', '12'),
array('LU280019400644750000', '28'),
array('MK07250120000058984', '07'),
array('MT84MALT011000012345MTLCAST001S', '84'),
array('MR1300020001010000123456753', '13'),
array('MU17BOMM0101101030300200000MUR', '17'),
array('MD24AG000225100013104168', '24'),
array('MC5811222000010123456789030', '58'),
array('ME25505000012345678951', '25'),
array('NL91ABNA0417164300', '91'),
array('NO9386011117947', '93'),
array('PK36SCBL0000001123456702', '36'),
array('PL61109010140000071219812874', '61'),
array('PS92PALS000000000400123456702', '92'),
array('PT50000201231234567890154', '50'),
array('QA58DOHB00001234567890ABCDEFG', '58'),
array('RO49AAAA1B31007593840000', '49'),
array('SM86U0322509800000000270100', '86'),
array('SA0380000000608010167519', '03'),
array('RS35260005601001611379', '35'),
array('SK3112000000198742637541', '31'),
array('SI56263300012039086', '56'),
array('ES9121000418450200051332', '91'),
array('SE4550000000058398257466', '45'),
array('CH9300762011623852957', '93'),
array('TN5910006035183598478831', '59'),
array('TR330006100519786457841326', '33'),
array('AE070331234567890123456', '07'),
array('GB29NWBK60161331926819', '29'),
array('VG96VPVG0000012345678901', '96'),
array('YY24KIHB12476423125915947930915268', '24'),
array('ZZ25VLQT382332233206588011313776421', '25'),
);
}
/**
* @dataProvider checksumProvider
*/
public function testChecksum($iban, $checksum)
{
$this->assertEquals($checksum, Iban::checksum($iban), $iban);
}
public function validatorProvider()
{
return array(
array('AL47212110090000000235698741', true),
array('AD1200012030200359100100', true),
array('AT611904300234573201', true),
array('AZ21NABZ00000000137010001944', true),
array('BH67BMAG00001299123456', true),
array('BE68539007547034', true),
array('BA391290079401028494', true),
array('BR7724891749412660603618210F3', true),
array('BG80BNBG96611020345678', true),
array('CR0515202001026284066', true),
array('HR1210010051863000160', true),
array('CY17002001280000001200527600', true),
array('CZ6508000000192000145399', true),
array('DK5000400440116243', true),
array('DO28BAGR00000001212453611324', true),
array('EE382200221020145685', true),
array('FO6264600001631634', true),
array('FI2112345600000785', true),
array('FR1420041010050500013M02606', true),
array('GE29NB0000000101904917', true),
array('DE89370400440532013000', true),
array('GI75NWBK000000007099453', true),
array('GR1601101250000000012300695', true),
array('GL8964710001000206', true),
array('GT82TRAJ01020000001210029690', true),
array('HU42117730161111101800000000', true),
array('IS140159260076545510730339', true),
array('IE29AIBK93115212345678', true),
array('IL620108000000099999999', true),
array('IT60X0542811101000000123456', true),
array('KZ86125KZT5004100100', true),
array('KW81CBKU0000000000001234560101', true),
array('LV80BANK0000435195001', true),
array('LB62099900000001001901229114', true),
array('LI21088100002324013AA', true),
array('LT121000011101001000', true),
array('LU280019400644750000', true),
array('MK07250120000058984', true),
array('MT84MALT011000012345MTLCAST001S', true),
array('MR1300020001010000123456753', true),
array('MU17BOMM0101101030300200000MUR', true),
array('MD24AG000225100013104168', true),
array('MC5811222000010123456789030', true),
array('ME25505000012345678951', true),
array('NL91ABNA0417164300', true),
array('NO9386011117947', true),
array('PK36SCBL0000001123456702', true),
array('PL61109010140000071219812874', true),
array('PS92PALS000000000400123456702', true),
array('PT50000201231234567890154', true),
array('QA58DOHB00001234567890ABCDEFG', true),
array('RO49AAAA1B31007593840000', true),
array('SM86U0322509800000000270100', true),
array('SA0380000000608010167519', true),
array('RS35260005601001611379', true),
array('SK3112000000198742637541', true),
array('SI56263300012039086', true),
array('ES9121000418450200051332', true),
array('SE4550000000058398257466', true),
array('CH9300762011623852957', true),
array('TN5910006035183598478831', true),
array('TR330006100519786457841326', true),
array('AE070331234567890123456', true),
array('GB29NWBK60161331926819', true),
array('VG96VPVG0000012345678901', true),
array('YY24KIHB12476423125915947930915268', true),
array('ZZ25VLQT382332233206588011313776421', true),
array('AL4721211009000000023569874', false),
array('AD120001203020035910010', false),
array('AT61190430023457320', false),
array('AZ21NABZ0000000013701000194', false),
array('BH67BMAG0000129912345', false),
array('BE6853900754703', false),
array('BA39129007940102849', false),
array('BR7724891749412660603618210F', false),
array('BG80BNBG9661102034567', false),
array('CR051520200102628406', false),
array('HR121001005186300016', false),
array('CY1700200128000000120052760', false),
array('CZ650800000019200014539', false),
array('DK500040044011624', false),
array('DO28BAGR0000000121245361132', false),
array('EE38220022102014568', false),
array('FO626460000163163', false),
array('FI2112345600000780', false),
array('FR1420041010050500013M0260', false),
array('GE29NB000000010190491', false),
array('DE8937040044053201300', false),
array('GI75NWBK00000000709945', false),
array('GR160110125000000001230069', false),
array('GL896471000100020', false),
array('GT82TRAJ0102000000121002969', false),
array('HU4211773016111110180000000', false),
array('IS14015926007654551073033', false),
array('IE29AIBK9311521234567', false),
array('IL62010800000009999999', false),
array('IT60X054281110100000012345', false),
array('KZ86125KZT500410010', false),
array('KW81CBKU000000000000123456010', false),
array('LV80BANK000043519500', false),
array('LB6209990000000100190122911', false),
array('LI21088100002324013A', false),
array('LT12100001110100100', false),
array('LU28001940064475000', false),
array('MK0725012000005898', false),
array('MT84MALT011000012345MTLCAST001', false),
array('MR130002000101000012345675', false),
array('MU17BOMM0101101030300200000MU', false),
array('MD24AG00022510001310416', false),
array('MC58112220000101234567890', false),
array('ME2550500001234567895', false),
array('NL91ABNA041716430', false),
array('NO938601111794', false),
array('PK36SCBL000000112345670', false),
array('PL6110901014000007121981287', false),
array('PS92PALS00000000040012345670', false),
array('PT5000020123123456789015', false),
array('QA58DOHB00001234567890ABCDEF', false),
array('RO49AAAA1B3100759384000', false),
array('SM86U032250980000000027010', false),
array('SA038000000060801016751', false),
array('RS3526000560100161137', false),
array('SK311200000019874263754', false),
array('SI5626330001203908', false),
array('ES912100041845020005133', false),
array('SE455000000005839825746', false),
array('CH930076201162385295', false),
array('TN591000603518359847883', false),
array('TR33000610051978645784132', false),
array('AE07033123456789012345', false),
array('GB29NWBK6016133192681', false),
array('VG96VPVG000001234567890', false),
array('YY24KIHB1247642312591594793091526', false),
array('ZZ25VLQT38233223320658801131377642', false),
);
}
/**
* @dataProvider validatorProvider
*/
public function testIsValid($iban, $isValid)
{
$this->assertEquals($isValid, Iban::isValid($iban), $iban);
}
public function alphaToNumberProvider()
{
return array(
array('A', 10),
array('B', 11),
array('C', 12),
array('D', 13),
array('E', 14),
array('F', 15),
array('G', 16),
array('H', 17),
array('I', 18),
array('J', 19),
array('K', 20),
array('L', 21),
array('M', 22),
array('N', 23),
array('O', 24),
array('P', 25),
array('Q', 26),
array('R', 27),
array('S', 28),
array('T', 29),
array('U', 30),
array('V', 31),
array('W', 32),
array('X', 33),
array('Y', 34),
array('Z', 35),
);
}
/**
* @dataProvider alphaToNumberProvider
*/
public function testAlphaToNumber($letter, $number)
{
$this->assertEquals($number, Iban::alphaToNumber($letter), $letter);
}
public function mod97Provider()
{
// Large numbers
$return = array(
array('123456789123456789', 7),
array('111222333444555666', 73),
array('4242424242424242424242', 19),
array('271828182845904523536028', 68),
);
// 0-200
for ($i = 0; $i < 200; $i++) {
$return[] = array((string)$i, $i % 97);
}
return $return;
}
/**
* @dataProvider mod97Provider
*/
public function testMod97($number, $result)
{
$this->assertEquals($result, Iban::mod97($number), $number);
}
}

View File

@@ -1,51 +0,0 @@
<?php
namespace Faker\Test\Calculator;
use Faker\Calculator\Inn;
use PHPUnit\Framework\TestCase;
class InnTest extends TestCase
{
public function checksumProvider()
{
return array(
array('143525744', '4'),
array('500109285', '3'),
array('500109285', '3'),
array('500109285', '3'),
array('027615723', '1')
);
}
/**
* @dataProvider checksumProvider
*/
public function testChecksum($inn, $checksum)
{
$this->assertEquals($checksum, Inn::checksum($inn), $inn);
}
public function validatorProvider()
{
return array(
array('5902179757', true),
array('5408294405', true),
array('2724164617', true),
array('0726000515', true),
array('6312123552', true),
array('1111111111', false),
array('0123456789', false),
);
}
/**
* @dataProvider validatorProvider
*/
public function testIsValid($inn, $isValid)
{
$this->assertEquals($isValid, Inn::isValid($inn), $inn);
}
}

View File

@@ -1,72 +0,0 @@
<?php
namespace Faker\Test\Calculator;
use Faker\Calculator\Luhn;
use PHPUnit\Framework\TestCase;
class LuhnTest extends TestCase
{
public function checkDigitProvider()
{
return array(
array('7992739871', '3'),
array('3852000002323', '7'),
array('37144963539843', '1'),
array('561059108101825', '0'),
array('601100099013942', '4'),
array('510510510510510', '0'),
array(7992739871, '3'),
array(3852000002323, '7'),
array('37144963539843', '1'),
array('561059108101825', '0'),
array('601100099013942', '4'),
array('510510510510510', '0')
);
}
/**
* @dataProvider checkDigitProvider
*/
public function testComputeCheckDigit($partialNumber, $checkDigit)
{
$this->assertInternalType('string', $checkDigit);
$this->assertEquals($checkDigit, Luhn::computeCheckDigit($partialNumber));
}
public function validatorProvider()
{
return array(
array('79927398710', false),
array('79927398711', false),
array('79927398712', false),
array('79927398713', true),
array('79927398714', false),
array('79927398715', false),
array('79927398716', false),
array('79927398717', false),
array('79927398718', false),
array('79927398719', false),
array(79927398713, true),
array(79927398714, false),
);
}
/**
* @dataProvider validatorProvider
*/
public function testIsValid($number, $isValid)
{
$this->assertEquals($isValid, Luhn::isValid($number));
}
/**
* @expectedException InvalidArgumentException
* @expectedExceptionMessage Argument should be an integer.
*/
public function testGenerateLuhnNumberWithInvalidPrefix()
{
Luhn::generateLuhnNumber('abc');
}
}

View File

@@ -1,54 +0,0 @@
<?php
namespace Faker\Test\Calculator;
use Faker\Calculator\TCNo;
use PHPUnit\Framework\TestCase;
class TCNoTest extends TestCase
{
public function checksumProvider()
{
return array(
array('553006348', '82'),
array('350630743', '78'),
array('550600932', '88'),
array('487932947', '70'),
array('168113862', '40')
);
}
/**
* @dataProvider checksumProvider
* @param $tcNo
* @param $checksum
*/
public function testChecksum($tcNo, $checksum)
{
$this->assertEquals($checksum, TCNo::checksum($tcNo), $tcNo);
}
public function validatorProvider()
{
return array(
array('22978160678', true),
array('26480045324', true),
array('47278360658', true),
array('34285002510', true),
array('19874561012', true),
array('11111111111', false),
array('11234567899', false),
);
}
/**
* @dataProvider validatorProvider
* @param $tcNo
* @param $isValid
*/
public function testIsValid($tcNo, $isValid)
{
$this->assertEquals($isValid, TCNo::isValid($tcNo), $tcNo);
}
}

View File

@@ -1,28 +0,0 @@
<?php
namespace Faker\Test;
use Faker\DefaultGenerator;
use PHPUnit\Framework\TestCase;
class DefaultGeneratorTest extends TestCase
{
public function testGeneratorReturnsNullByDefault()
{
$generator = new DefaultGenerator;
$this->assertNull($generator->value);
}
public function testGeneratorReturnsDefaultValueForAnyPropertyGet()
{
$generator = new DefaultGenerator(123);
$this->assertSame(123, $generator->foo);
$this->assertNotNull($generator->bar);
}
public function testGeneratorReturnsDefaultValueForAnyMethodCall()
{
$generator = new DefaultGenerator(123);
$this->assertSame(123, $generator->foobar());
}
}

Some files were not shown because too many files have changed in this diff Show More