Viewing file: Name.php (5.24 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Faker\Guesser;
use Faker\Provider\Base;
class Name { protected $generator;
public function __construct(\Faker\Generator $generator) { $this->generator = $generator; }
/** * @param string $name * @param int|null $size Length of field, if known * * @return callable|null */ public function guessFormat($name, $size = null) { $name = Base::toLower($name); $generator = $this->generator;
if (preg_match('/^is[_A-Z]/', $name)) { return static function () use ($generator) { return $generator->boolean(); }; }
if (preg_match('/(_a|A)t$/', $name)) { return static function () use ($generator) { return $generator->dateTime(); }; }
switch (str_replace('_', '', $name)) { case 'firstname': return static function () use ($generator) { return $generator->firstName(); };
case 'lastname': return static function () use ($generator) { return $generator->lastName(); };
case 'username': case 'login': return static function () use ($generator) { return $generator->userName(); };
case 'email': case 'emailaddress': return static function () use ($generator) { return $generator->email(); };
case 'phonenumber': case 'phone': case 'telephone': case 'telnumber': return static function () use ($generator) { return $generator->phoneNumber(); };
case 'address': return static function () use ($generator) { return $generator->address(); };
case 'city': case 'town': return static function () use ($generator) { return $generator->city(); };
case 'streetaddress': return static function () use ($generator) { return $generator->streetAddress(); };
case 'postcode': case 'zipcode': return static function () use ($generator) { return $generator->postcode(); };
case 'state': return static function () use ($generator) { return $generator->state(); };
case 'county': if ($this->generator->locale == 'en_US') { return static function () use ($generator) { return sprintf('%s County', $generator->city()); }; }
return static function () use ($generator) { return $generator->state(); };
case 'country': switch ($size) { case 2: return static function () use ($generator) { return $generator->countryCode(); };
case 3: return static function () use ($generator) { return $generator->countryISOAlpha3(); };
case 5: case 6: return static function () use ($generator) { return $generator->locale(); };
default: return static function () use ($generator) { return $generator->country(); }; }
break;
case 'locale': return static function () use ($generator) { return $generator->locale(); };
case 'currency': case 'currencycode': return static function () use ($generator) { return $generator->currencyCode(); };
case 'url': case 'website': return static function () use ($generator) { return $generator->url(); };
case 'company': case 'companyname': case 'employer': return static function () use ($generator) { return $generator->company(); };
case 'title': if ($size !== null && $size <= 10) { return static function () use ($generator) { return $generator->title(); }; }
return static function () use ($generator) { return $generator->sentence(); };
case 'body': case 'summary': case 'article': case 'description': return static function () use ($generator) { return $generator->text(); }; }
return null; } }
|