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\Provider;
4
 
5
class Miscellaneous extends Base
6
{
7
    /**
8
     * @see https://en.wikipedia.org/wiki/Emoji#Unicode_blocks
9
     * On date of 2017-03-26
10
     *
11
     * U+1F600 - U+1F637 in Unicode Codepoint Escape Syntax
12
     */
13
    protected static $emoji = [
14
        "\u{1F600}", "\u{1F601}", "\u{1F602}", "\u{1F603}",
15
        "\u{1F604}", "\u{1F605}", "\u{1F606}", "\u{1F607}",
16
        "\u{1F608}", "\u{1F609}", "\u{1F60A}", "\u{1F60B}",
17
        "\u{1F60C}", "\u{1F60D}", "\u{1F60E}", "\u{1F60F}",
18
        "\u{1F610}", "\u{1F611}", "\u{1F612}", "\u{1F613}",
19
        "\u{1F614}", "\u{1F615}", "\u{1F616}", "\u{1F617}",
20
        "\u{1F618}", "\u{1F619}", "\u{1F61A}", "\u{1F61B}",
21
        "\u{1F61C}", "\u{1F61D}", "\u{1F61E}", "\u{1F61F}",
22
        "\u{1F620}", "\u{1F621}", "\u{1F622}", "\u{1F623}",
23
        "\u{1F624}", "\u{1F625}", "\u{1F626}", "\u{1F627}",
24
        "\u{1F628}", "\u{1F629}", "\u{1F62A}", "\u{1F62B}",
25
        "\u{1F62C}", "\u{1F62D}", "\u{1F62E}", "\u{1F62F}",
26
        "\u{1F630}", "\u{1F631}", "\u{1F632}", "\u{1F633}",
27
        "\u{1F634}", "\u{1F635}", "\u{1F636}", "\u{1F637}",
28
    ];
29
 
30
    /**
31
     * @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
32
     * On date of 2016-04-22
33
     */
34
    protected static $languageCode = [
35
        'aa', 'ab', 'ae', 'af', 'ak', 'am', 'an', 'ar', 'as', 'av',
36
        'ay', 'az', 'ba', 'be', 'bg', 'bh', 'bi', 'bm', 'bn', 'bo',
37
        'br', 'bs', 'ca', 'ce', 'ch', 'co', 'cr', 'cs', 'cu', 'cv',
38
        'cy', 'da', 'de', 'dv', 'dz', 'ee', 'el', 'en', 'eo', 'es',
39
        'et', 'eu', 'fa', 'ff', 'fi', 'fj', 'fo', 'fr', 'fy', 'ga',
40
        'gd', 'gl', 'gn', 'gu', 'gv', 'ha', 'he', 'hi', 'ho', 'hr',
41
        'ht', 'hu', 'hy', 'hz', 'ia', 'id', 'ie', 'ig', 'ii', 'ik',
42
        'io', 'is', 'it', 'iu', 'ja', 'jv', 'ka', 'kg', 'ki', 'kj',
43
        'kk', 'kl', 'km', 'kn', 'ko', 'kr', 'ks', 'ku', 'kv', 'kw',
44
        'ky', 'la', 'lb', 'lg', 'li', 'ln', 'lo', 'lt', 'lu', 'lv',
45
        'mg', 'mh', 'mi', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my',
46
        'na', 'nb', 'nd', 'ne', 'ng', 'nl', 'nn', 'no', 'nr', 'nv',
47
        'ny', 'oc', 'oj', 'om', 'or', 'os', 'pa', 'pi', 'pl', 'ps',
48
        'pt', 'qu', 'rm', 'rn', 'ro', 'ru', 'rw', 'sa', 'sc', 'sd',
49
        'se', 'sg', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sq', 'sr',
50
        'ss', 'st', 'su', 'sv', 'sw', 'ta', 'te', 'tg', 'th', 'ti',
51
        'tk', 'tl', 'tn', 'to', 'tr', 'ts', 'tt', 'tw', 'ty', 'ug',
52
        'uk', 'ur', 'uz', 've', 'vi', 'vo', 'wa', 'wo', 'xh', 'yi',
53
        'yo', 'za', 'zh', 'zu',
54
    ];
55
 
56
    /**
57
     * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
58
     * On date of 2014-10-19
59
     */
60
    protected static $countryCode = [
61
        'AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR',
62
        'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE',
63
        'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ',
64
        'BR', 'BS', 'BT', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF',
65
        'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU',
66
        'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO',
67
        'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ',
68
        'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG',
69
        'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT',
70
        'GU', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE',
71
        'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM',
72
        'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR',
73
        'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS',
74
        'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG',
75
        'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS',
76
        'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE',
77
        'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM',
78
        'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR',
79
        'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW',
80
        'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK',
81
        'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY',
82
        'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM',
83
        'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM',
84
        'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU',
85
        'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW',
86
    ];
87
 
88
    /**
89
     * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
90
     * On date of 2014-10-19
91
     */
92
    protected static $countryISOAlpha3 = [
93
        'ABW', 'AFG', 'AGO', 'AIA', 'ALA', 'ALB', 'AND', 'ARE', 'ARG', 'ARM',
94
        'ASM', 'ATA', 'ATF', 'ATG', 'AUS', 'AUT', 'AZE', 'BDI', 'BEL', 'BEN',
95
        'BES', 'BFA', 'BGD', 'BGR', 'BHR', 'BHS', 'BIH', 'BLM', 'BLR', 'BLZ',
96
        'BMU', 'BOL', 'BRA', 'BRB', 'BRN', 'BTN', 'BVT', 'BWA', 'CAF', 'CAN',
97
        'CCK', 'CHE', 'CHL', 'CHN', 'CIV', 'CMR', 'COD', 'COG', 'COK', 'COL',
98
        'COM', 'CPV', 'CRI', 'CUB', 'CUW', 'CXR', 'CYM', 'CYP', 'CZE', 'DEU',
99
        'DJI', 'DMA', 'DNK', 'DOM', 'DZA', 'ECU', 'EGY', 'ERI', 'ESH', 'ESP',
100
        'EST', 'ETH', 'FIN', 'FJI', 'FLK', 'FRA', 'FRO', 'FSM', 'GAB', 'GBR',
101
        'GEO', 'GGY', 'GHA', 'GIB', 'GIN', 'GLP', 'GMB', 'GNB', 'GNQ', 'GRC',
102
        'GRD', 'GRL', 'GTM', 'GUF', 'GUM', 'GUY', 'HKG', 'HMD', 'HND', 'HRV',
103
        'HTI', 'HUN', 'IDN', 'IMN', 'IND', 'IOT', 'IRL', 'IRN', 'IRQ', 'ISL',
104
        'ISR', 'ITA', 'JAM', 'JEY', 'JOR', 'JPN', 'KAZ', 'KEN', 'KGZ', 'KHM',
105
        'KIR', 'KNA', 'KOR', 'KWT', 'LAO', 'LBN', 'LBR', 'LBY', 'LCA', 'LIE',
106
        'LKA', 'LSO', 'LTU', 'LUX', 'LVA', 'MAC', 'MAF', 'MAR', 'MCO', 'MDA',
107
        'MDG', 'MDV', 'MEX', 'MHL', 'MKD', 'MLI', 'MLT', 'MMR', 'MNE', 'MNG',
108
        'MNP', 'MOZ', 'MRT', 'MSR', 'MTQ', 'MUS', 'MWI', 'MYS', 'MYT', 'NAM',
109
        'NCL', 'NER', 'NFK', 'NGA', 'NIC', 'NIU', 'NLD', 'NOR', 'NPL', 'NRU',
110
        'NZL', 'OMN', 'PAK', 'PAN', 'PCN', 'PER', 'PHL', 'PLW', 'PNG', 'POL',
111
        'PRI', 'PRK', 'PRT', 'PRY', 'PSE', 'PYF', 'QAT', 'REU', 'ROU', 'RUS',
112
        'RWA', 'SAU', 'SDN', 'SEN', 'SGP', 'SGS', 'SHN', 'SJM', 'SLB', 'SLE',
113
        'SLV', 'SMR', 'SOM', 'SPM', 'SRB', 'SSD', 'STP', 'SUR', 'SVK', 'SVN',
114
        'SWE', 'SWZ', 'SXM', 'SYC', 'SYR', 'TCA', 'TCD', 'TGO', 'THA', 'TJK',
115
        'TKL', 'TKM', 'TLS', 'TON', 'TTO', 'TUN', 'TUR', 'TUV', 'TWN', 'TZA',
116
        'UGA', 'UKR', 'UMI', 'URY', 'USA', 'UZB', 'VAT', 'VCT', 'VEN', 'VGB',
117
        'VIR', 'VNM', 'VUT', 'WLF', 'WSM', 'YEM', 'ZAF', 'ZMB', 'ZWE',
118
    ];
119
 
120
    protected static $localeData = [
121
        'aa_DJ', 'aa_ER', 'aa_ET',
122
        'af_NA', 'af_ZA', 'ak_GH',
123
        'am_ET', 'ar_AE', 'ar_BH', 'ar_DZ',
124
        'ar_EG', 'ar_IQ', 'ar_JO', 'ar_KW', 'ar_LB',
125
        'ar_LY', 'ar_MA', 'ar_OM', 'ar_QA', 'ar_SA',
126
        'ar_SD', 'ar_SY', 'ar_TN', 'ar_YE',
127
        'as_IN', 'az_AZ', 'be_BY',
128
        'bg_BG', 'bn_BD', 'bn_IN',
129
        'bo_CN', 'bo_IN', 'bs_BA',
130
        'byn_ER', 'ca_ES',
131
        'cch_NG', 'cs_CZ',
132
        'cy_GB', 'da_DK', 'de_AT',
133
        'de_BE', 'de_CH', 'de_DE', 'de_LI', 'de_LU',
134
        'dv_MV', 'dz_BT',
135
        'ee_GH', 'ee_TG', 'el_CY', 'el_GR',
136
        'en_AS', 'en_AU', 'en_BE', 'en_BW',
137
        'en_BZ', 'en_CA', 'en_GB', 'en_GU', 'en_HK',
138
        'en_IE', 'en_IN', 'en_JM', 'en_MH', 'en_MP',
139
        'en_MT', 'en_NA', 'en_NZ', 'en_PH', 'en_PK',
140
        'en_SG', 'en_TT', 'en_UM', 'en_US', 'en_VI',
141
        'en_ZA', 'en_ZW', 'es_AR',
142
        'es_BO', 'es_CL', 'es_CO', 'es_CR', 'es_DO',
143
        'es_EC', 'es_ES', 'es_GT', 'es_HN', 'es_MX',
144
        'es_NI', 'es_PA', 'es_PE', 'es_PR', 'es_PY',
145
        'es_SV', 'es_US', 'es_UY', 'es_VE',
146
        'et_EE', 'eu_ES', 'fa_AF',
147
        'fa_IR', 'fi_FI', 'fil_PH',
148
        'fo_FO', 'fr_BE', 'fr_CA',
149
        'fr_CH', 'fr_FR', 'fr_LU', 'fr_MC', 'fr_SN',
150
        'fur_IT', 'ga_IE',
151
        'gaa_GH', 'gez_ER', 'gez_ET',
152
        'gl_ES', 'gsw_CH', 'gu_IN',
153
        'gv_GB', 'ha_GH', 'ha_NE',
154
        'ha_NG', 'ha_SD', 'haw_US',
155
        'he_IL', 'hi_IN', 'hr_HR',
156
        'hu_HU', 'hy_AM',
157
        'id_ID', 'ig_NG',
158
        'ii_CN', 'is_IS',
159
        'it_CH', 'it_IT',
160
        'ja_JP', 'ka_GE', 'kaj_NG',
161
        'kam_KE', 'kcg_NG',
162
        'kfo_CI', 'kk_KZ', 'kl_GL',
163
        'km_KH', 'kn_IN',
164
        'ko_KR', 'kok_IN', 'kpe_GN',
165
        'kpe_LR', 'ku_IQ', 'ku_IR', 'ku_SY',
166
        'ku_TR', 'kw_GB', 'ky_KG',
167
        'ln_CD', 'ln_CG', 'lo_LA',
168
        'lt_LT', 'lv_LV',
169
        'mk_MK', 'ml_IN', 'mn_CN',
170
        'mn_MN', 'mr_IN',
171
        'ms_BN', 'ms_MY', 'mt_MT',
172
        'my_MM', 'nb_NO', 'nds_DE',
173
        'ne_IN', 'ne_NP', 'nl_BE',
174
        'nl_NL', 'nn_NO',
175
        'nr_ZA', 'nso_ZA', 'ny_MW',
176
        'oc_FR', 'om_ET', 'om_KE',
177
        'or_IN', 'pa_IN', 'pa_PK',
178
        'pl_PL', 'ps_AF',
179
        'pt_BR', 'pt_PT', 'ro_MD', 'ro_RO',
180
        'ru_RU', 'ru_UA', 'rw_RW',
181
        'sa_IN', 'se_FI', 'se_NO',
182
        'sh_BA', 'sh_CS', 'sh_YU',
183
        'si_LK', 'sid_ET', 'sk_SK',
184
        'sl_SI', 'so_DJ', 'so_ET',
185
        'so_KE', 'so_SO', 'sq_AL',
186
        'sr_BA', 'sr_CS', 'sr_ME', 'sr_RS', 'sr_YU',
187
        'ss_SZ', 'ss_ZA', 'st_LS',
188
        'st_ZA', 'sv_FI', 'sv_SE',
189
        'sw_KE', 'sw_TZ', 'syr_SY',
190
        'ta_IN', 'te_IN', 'tg_TJ',
191
        'th_TH', 'ti_ER', 'ti_ET',
192
        'tig_ER', 'tn_ZA',
193
        'to_TO', 'tr_TR',
194
        'trv_TW', 'ts_ZA', 'tt_RU',
195
        'ug_CN', 'uk_UA',
196
        'ur_IN', 'ur_PK', 'uz_AF', 'uz_UZ',
197
        've_ZA', 'vi_VN',
198
        'wal_ET', 'wo_SN', 'xh_ZA',
199
        'yo_NG', 'zh_CN', 'zh_HK',
200
        'zh_MO', 'zh_SG', 'zh_TW', 'zu_ZA',
201
    ];
202
 
203
    /**
204
     * @see https://en.wikipedia.org/wiki/ISO_4217
205
     * On date of 2019-09-27
206
     *
207
     * With the following exceptions:
208
     * SVC has been replaced by the USD in 2001: https://en.wikipedia.org/wiki/Salvadoran_col%C3%B3n
209
     * ZWL has been suspended since 2009: https://en.wikipedia.org/wiki/Zimbabwean_dollar
210
     */
211
    protected static $currencyCode = [
212
        'AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS', 'AUD', 'AWG', 'AZN',
213
        'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD', 'BND', 'BOB', 'BRL',
214
        'BSD', 'BTN', 'BWP', 'BYN', 'BZD', 'CAD', 'CDF', 'CHF', 'CLP', 'CNY',
215
        'COP', 'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD',
216
        'EGP', 'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GHS', 'GIP',
217
        'GMD', 'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR',
218
        'ILS', 'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS',
219
        'KHR', 'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR',
220
        'LRD', 'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP',
221
        'MRU', 'MUR', 'MVR', 'MWK', 'MXN', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO',
222
        'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN',
223
        'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG',
224
        'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SRD', 'SSP', 'STN', 'SYP', 'SZL',
225
        'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TWD', 'TZS', 'UAH',
226
        'UGX', 'USD', 'UYU', 'UZS', 'VES', 'VND', 'VUV', 'WST', 'XAF', 'XCD',
227
        'XOF', 'XPF', 'YER', 'ZAR', 'ZMW',
228
    ];
229
 
230
    /**
231
     * Return a boolean, true or false.
232
     *
233
     * @param int $chanceOfGettingTrue Between 0 (always get false) and 100 (always get true)
234
     *
235
     * @return bool
236
     *
237
     * @example true
238
     */
239
    public static function boolean($chanceOfGettingTrue = 50)
240
    {
241
        return self::numberBetween(1, 100) <= $chanceOfGettingTrue;
242
    }
243
 
244
    /**
245
     * @example 'cfcd208495d565ef66e7dff9f98764da'
246
     *
247
     * @return string
248
     */
249
    public static function md5()
250
    {
251
        return md5(self::numberBetween());
252
    }
253
 
254
    /**
255
     * @example 'b5d86317c2a144cd04d0d7c03b2b02666fafadf2'
256
     *
257
     * @return string
258
     */
259
    public static function sha1()
260
    {
261
        return sha1(self::numberBetween());
262
    }
263
 
264
    /**
265
     * @example '85086017559ccc40638fcde2fecaf295e0de7ca51b7517b6aebeaaf75b4d4654'
266
     *
267
     * @return string
268
     */
269
    public static function sha256()
270
    {
271
        return hash('sha256', self::numberBetween());
272
    }
273
 
274
    /**
275
     * @example 'fr_FR'
276
     *
277
     * @return string
278
     */
279
    public static function locale()
280
    {
281
        return static::randomElement(static::$localeData);
282
    }
283
 
284
    /**
285
     * @example 'FR'
286
     *
287
     * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
288
     *
289
     * @return string
290
     */
291
    public static function countryCode()
292
    {
293
        return static::randomElement(static::$countryCode);
294
    }
295
 
296
    /**
297
     * @example 'FRA'
298
     *
299
     * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
300
     *
301
     * @return string
302
     */
303
    public static function countryISOAlpha3()
304
    {
305
        return static::randomElement(static::$countryISOAlpha3);
306
    }
307
 
308
    /**
309
     * @example 'fr'
310
     *
311
     * @return string
312
     */
313
    public static function languageCode()
314
    {
315
        return static::randomElement(static::$languageCode);
316
    }
317
 
318
    /**
319
     * @example 'EUR'
320
     *
321
     * @see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
322
     *
323
     * @return string
324
     */
325
    public static function currencyCode()
326
    {
327
        return static::randomElement(static::$currencyCode);
328
    }
329
 
330
    /**
331
     * Returns an Emoji (Unicode character between U+1F600 and U+1F637).
332
     *
333
     * @see https://en.wikipedia.org/wiki/Emoji#Unicode_blocks
334
     *
335
     * @return string
336
     */
337
    public static function emoji()
338
    {
339
        return static::randomElement(static::$emoji);
340
    }
341
}