Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Faker\Guesser;
4
 
5
use Faker\Provider\Base;
6
 
7
class Name
8
{
9
    protected $generator;
10
 
11
    public function __construct(\Faker\Generator $generator)
12
    {
13
        $this->generator = $generator;
14
    }
15
 
16
    /**
17
     * @param string   $name
18
     * @param int|null $size Length of field, if known
19
     *
20
     * @return callable|null
21
     */
22
    public function guessFormat($name, $size = null)
23
    {
24
        $name = Base::toLower($name);
25
        $generator = $this->generator;
26
 
27
        if (preg_match('/^is[_A-Z]/', $name)) {
28
            return static function () use ($generator) {
29
                return $generator->boolean;
30
            };
31
        }
32
 
33
        if (preg_match('/(_a|A)t$/', $name)) {
34
            return static function () use ($generator) {
35
                return $generator->dateTime;
36
            };
37
        }
38
 
39
        switch (str_replace('_', '', $name)) {
40
            case 'firstname':
41
                return static function () use ($generator) {
42
                    return $generator->firstName;
43
                };
44
 
45
            case 'lastname':
46
                return static function () use ($generator) {
47
                    return $generator->lastName;
48
                };
49
 
50
            case 'username':
51
            case 'login':
52
                return static function () use ($generator) {
53
                    return $generator->userName;
54
                };
55
 
56
            case 'email':
57
            case 'emailaddress':
58
                return static function () use ($generator) {
59
                    return $generator->email;
60
                };
61
 
62
            case 'phonenumber':
63
            case 'phone':
64
            case 'telephone':
65
            case 'telnumber':
66
                return static function () use ($generator) {
67
                    return $generator->phoneNumber;
68
                };
69
 
70
            case 'address':
71
                return static function () use ($generator) {
72
                    return $generator->address;
73
                };
74
 
75
            case 'city':
76
            case 'town':
77
                return static function () use ($generator) {
78
                    return $generator->city;
79
                };
80
 
81
            case 'streetaddress':
82
                return static function () use ($generator) {
83
                    return $generator->streetAddress;
84
                };
85
 
86
            case 'postcode':
87
            case 'zipcode':
88
                return static function () use ($generator) {
89
                    return $generator->postcode;
90
                };
91
 
92
            case 'state':
93
                return static function () use ($generator) {
94
                    return $generator->state;
95
                };
96
 
97
            case 'county':
98
                if ($this->generator->locale == 'en_US') {
99
                    return static function () use ($generator) {
100
                        return sprintf('%s County', $generator->city);
101
                    };
102
                }
103
 
104
                return static function () use ($generator) {
105
                    return $generator->state;
106
                };
107
 
108
            case 'country':
109
                switch ($size) {
110
                    case 2:
111
                        return static function () use ($generator) {
112
                            return $generator->countryCode;
113
                        };
114
 
115
                    case 3:
116
                        return static function () use ($generator) {
117
                            return $generator->countryISOAlpha3;
118
                        };
119
 
120
                    case 5:
121
                    case 6:
122
                        return static function () use ($generator) {
123
                            return $generator->locale;
124
                        };
125
 
126
                    default:
127
                        return static function () use ($generator) {
128
                            return $generator->country;
129
                        };
130
                }
131
 
132
                break;
133
 
134
            case 'locale':
135
                return static function () use ($generator) {
136
                    return $generator->locale;
137
                };
138
 
139
            case 'currency':
140
            case 'currencycode':
141
                return static function () use ($generator) {
142
                    return $generator->currencyCode;
143
                };
144
 
145
            case 'url':
146
            case 'website':
147
                return static function () use ($generator) {
148
                    return $generator->url;
149
                };
150
 
151
            case 'company':
152
            case 'companyname':
153
            case 'employer':
154
                return static function () use ($generator) {
155
                    return $generator->company;
156
                };
157
 
158
            case 'title':
159
                if ($size !== null && $size <= 10) {
160
                    return static function () use ($generator) {
161
                        return $generator->title;
162
                    };
163
                }
164
 
165
                return static function () use ($generator) {
166
                    return $generator->sentence;
167
                };
168
 
169
            case 'body':
170
            case 'summary':
171
            case 'article':
172
            case 'description':
173
                return static function () use ($generator) {
174
                    return $generator->text;
175
                };
176
        }
177
 
178
        return null;
179
    }
180
}