Name.php
2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
namespace Faker\Guesser;
use \Faker\Provider\Base;
class Name
{
    protected $generator;
    public function __construct(\Faker\Generator $generator)
    {
        $this->generator = $generator;
    }
    public function guessFormat($name)
    {
        $name = Base::toLower($name);
        $generator = $this->generator;
        if (preg_match('/^is[_A-Z]/', $name)) {
            return function () use ($generator) {
                return $generator->boolean;
            };
        }
        if (preg_match('/(_a|A)t$/', $name)) {
            return function () use ($generator) {
                return $generator->dateTime;
            };
        }
        switch ($name) {
            case 'first_name':
            case 'firstname':
                return function () use ($generator) {
                    return $generator->firstName;
                };
            case 'last_name':
            case 'lastname':
                return function () use ($generator) {
                    return $generator->lastName;
                };
            case 'username':
            case 'login':
                return function () use ($generator) {
                    return $generator->userName;
                };
            case 'email':
                return function () use ($generator) {
                    return $generator->email;
                };
            case 'phone_number':
            case 'phonenumber':
            case 'phone':
                return function () use ($generator) {
                    return $generator->phoneNumber;
                };
            case 'address':
                return function () use ($generator) {
                    return $generator->address;
                };
            case 'city':
                return function () use ($generator) {
                    return $generator->city;
                };
            case 'streetaddress':
                return function () use ($generator) {
                    return $generator->streetAddress;
                };
            case 'postcode':
            case 'zipcode':
                return function () use ($generator) {
                    return $generator->postcode;
                };
            case 'state':
                return function () use ($generator) {
                    return $generator->state;
                };
            case 'country':
                return function () use ($generator) {
                    return $generator->country;
                };
            case 'title':
                return function () use ($generator) {
                    return $generator->sentence;
                };
            case 'body':
            case 'summary':
                return function () use ($generator) {
                    return $generator->text;
                };
        }
    }
}