Address.php
5 years ago
Color.php
5 years ago
Company.php
5 years ago
Internet.php
5 years ago
Payment.php
5 years ago
Person.php
5 years ago
PhoneNumber.php
5 years ago
Text.php
5 years ago
Person.php
197 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Faker\Provider\ru_RU; |
| 4 | |
| 5 | class Person extends \Faker\Provider\Person |
| 6 | { |
| 7 | protected static $maleNameFormats = array( |
| 8 | '{{firstNameMale}} {{middleNameMale}} {{lastName}}', |
| 9 | '{{lastName}} {{firstNameMale}} {{middleNameMale}}', |
| 10 | ); |
| 11 | |
| 12 | /** |
| 13 | * This provider uses wikipedia's 250 top russian last names |
| 14 | * That list of MALE last names could be safely extended to FEMALE list just by adding 'a' letter at the end |
| 15 | */ |
| 16 | protected static $femaleNameFormats = array( |
| 17 | '{{firstNameFemale}} {{middleNameFemale}} {{lastName}}а', |
| 18 | '{{lastName}}а {{firstNameFemale}} {{middleNameFemale}}', |
| 19 | ); |
| 20 | |
| 21 | /** |
| 22 | * {@link} http://ru.wikipedia.org/wiki/%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%B5_%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D0%B8%D0%BC%D1%8F |
| 23 | * {@link} http://masterrussian.com/aa031701a.shtml |
| 24 | **/ |
| 25 | protected static $firstNameMale = array( |
| 26 | 'Абрам', 'Август', 'Адам', 'Адриан', 'Аким', 'Александр', 'Алексей', 'Альберт', 'Ананий', 'Анатолий', 'Андрей', 'Антон', 'Антонин', |
| 27 | 'Аполлон', 'Аркадий', 'Арсений', 'Артемий', 'Артур', 'Артём', 'Афанасий', 'Богдан', 'Болеслав', 'Борис', 'Бронислав', 'Вадим', |
| 28 | 'Валентин', 'Валериан', 'Валерий', 'Василий', 'Вениамин', 'Викентий', 'Виктор', 'Виль', 'Виталий', 'Витольд', 'Влад', 'Владимир', |
| 29 | 'Владислав', 'Владлен', 'Всеволод', 'Вячеслав', 'Гавриил', 'Гарри', 'Геннадий', 'Георгий', 'Герасим', 'Герман', 'Глеб', 'Гордей', |
| 30 | 'Григорий', 'Давид', 'Дан', 'Даниил', 'Данила', 'Денис', 'Дмитрий', 'Добрыня', 'Донат', 'Евгений', 'Егор', 'Ефим', |
| 31 | 'За� |
| 32 | ар', 'Иван', 'Игнат', 'Игнатий', 'Игорь', 'Илларион', 'Илья', 'Иммануил', 'Иннокентий', 'Иосиф', 'Ираклий', 'Кирилл', |
| 33 | 'Клим', 'Константин', 'Кузьма', 'Лаврентий', 'Лев', 'Леонид', 'Макар', 'Максим', 'Марат', 'Марк', 'Матвей', 'Милан', |
| 34 | 'Мирослав', 'Ми� |
| 35 | аил', 'Назар', 'Нестор', 'Никита', 'Никодим', 'Николай', 'Олег', 'Павел', 'Платон', 'Про� |
| 36 | ор', 'Пётр', |
| 37 | 'Радислав', 'Рафаил', 'Роберт', 'Родион', 'Роман', 'Ростислав', 'Руслан', 'Сава', 'Савва', 'Святослав', 'Семён', 'Сергей', |
| 38 | 'Спартак', 'Станислав', 'Степан', 'Стефан', 'Тарас', 'Тимофей', 'Тимур', 'Тит', 'Трофим', 'Феликс', 'Филипп', 'Фёдор', |
| 39 | 'Эдуард', 'Эрик', 'Юлиан', 'Юлий', 'Юрий', 'Яков', 'Ян', 'Ярослав', 'Милан', |
| 40 | ); |
| 41 | |
| 42 | /** |
| 43 | * {@link} http://masterrussian.com/aa031001a.shtml |
| 44 | **/ |
| 45 | protected static $firstNameFemale = array( |
| 46 | 'Александра', 'Алина', 'Алиса', 'Алла', 'Альбина', 'Алёна', 'Анастасия', 'Анжелика', 'Анна', 'Антонина', 'Анфиса', 'Валентина', 'Валерия', |
| 47 | 'Варвара', 'Василиса', 'Вера', 'Вероника', 'Виктория', 'Владлена', 'Галина', 'Дарья', 'Диана', 'Дина', 'Доминика', 'Ева', |
| 48 | 'Евгения', 'Екатерина', 'Елена', 'Елизавета', 'Жанна', 'Зинаида', 'Злата', 'Зоя', 'Изабелла', 'Изольда', 'Инга', 'Инесса', |
| 49 | 'Инна', 'Ирина', 'Искра', 'Капитолина', 'Клавдия', 'Клара', 'Клементина', 'Кристина', 'Ксения', 'Лада', 'Лариса', 'Лидия', |
| 50 | 'Лилия', 'Любовь', 'Людмила', 'Люся', 'Майя', 'Мальвина', 'Маргарита', 'Марина', 'Мария', 'Марта', 'Надежда', 'Наталья', |
| 51 | 'Нелли', 'Ника', 'Нина', 'Нонна', 'Оксана', 'Олеся', 'Ольга', 'Полина', 'Рада', 'Раиса', 'Регина', 'Рената', |
| 52 | 'Розалина', 'Светлана', 'Софья', 'София', 'Таисия', 'Тамара', 'Татьяна', 'Ульяна', 'Фаина', 'Федосья', 'Флорентина', 'Эльвира', 'Эмилия', |
| 53 | 'Эмма', 'Юлия', 'Яна', 'Ярослава', |
| 54 | ); |
| 55 | |
| 56 | protected static $middleNameMale = array( |
| 57 | 'Александрович', 'Алексеевич', 'Андреевич', 'Дмитриевич', 'Евгеньевич', |
| 58 | 'Сергеевич', 'Иванович', 'Фёдорович', 'Львович', 'Романович', 'Владимирович', |
| 59 | 'Борисович', 'Максимович', |
| 60 | ); |
| 61 | |
| 62 | protected static $middleNameFemale = array( |
| 63 | 'Александровна', 'Алексеевна', 'Андреевна', 'Дмитриевна', 'Евгеньевна', |
| 64 | 'Сергеевна', 'Ивановна', 'Фёдоровна', 'Львовна', 'Романовна', 'Владимировна', |
| 65 | 'Борисовна', 'Максимовна', |
| 66 | ); |
| 67 | |
| 68 | /** |
| 69 | * {@link} http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BE%D0%B1%D1%89%D0%B5%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D1%85_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D0%B9 |
| 70 | **/ |
| 71 | protected static $lastName = array( |
| 72 | 'Смирнов', 'Иванов', 'Кузнецов', 'Соколов', 'Попов', 'Лебедев', 'Козлов', |
| 73 | 'Новиков', 'Морозов', 'Петров', 'Волков', 'Соловьёв', 'Васильев', 'Зайцев', |
| 74 | 'Павлов', 'Семёнов', 'Голубев', 'Виноградов', 'Богданов', 'Воробьёв', |
| 75 | 'Фёдоров', 'Ми� |
| 76 | айлов', 'Беляев', 'Тарасов', 'Белов', 'Комаров', 'Орлов', |
| 77 | 'Киселёв', 'Макаров', 'Андреев', 'Ковалёв', 'Ильин', 'Гусев', 'Титов', |
| 78 | 'Кузьмин', 'Кудрявцев', 'Баранов', 'Куликов', 'Алексеев', 'Степанов', |
| 79 | 'Яковлев', 'Сорокин', 'Сергеев', 'Романов', 'За� |
| 80 | аров', 'Борисов', 'Королёв', |
| 81 | 'Герасимов', 'Пономарёв', 'Григорьев', 'Лазарев', 'Медведев', 'Ершов', |
| 82 | 'Никитин', 'Соболев', 'Рябов', 'Поляков', 'Цветков', 'Данилов', 'Жуков', |
| 83 | 'Фролов', 'Журавлёв', 'Николаев', 'Крылов', 'Максимов', 'Сидоров', 'Осипов', |
| 84 | 'Белоусов', 'Федотов', 'Дорофеев', 'Егоров', 'Матвеев', 'Бобров', 'Дмитриев', |
| 85 | 'Калинин', 'Анисимов', 'Пету� |
| 86 | ов', 'Антонов', 'Тимофеев', 'Никифоров', |
| 87 | 'Веселов', 'Филиппов', 'Марков', 'Большаков', 'Су� |
| 88 | анов', 'Миронов', 'Ширяев', |
| 89 | 'Александров', 'Коновалов', 'Шестаков', 'Казаков', 'Ефимов', 'Денисов', |
| 90 | 'Громов', 'Фомин', 'Давыдов', 'Мельников', 'Щербаков', 'Блинов', 'Колесников', |
| 91 | 'Карпов', 'Афанасьев', 'Власов', 'Маслов', 'Исаков', 'Ти� |
| 92 | онов', 'Аксёнов', |
| 93 | 'Гаврилов', 'Родионов', 'Котов', 'Горбунов', 'Кудряшов', 'Быков', 'Зуев', |
| 94 | 'Третьяков', 'Савельев', 'Панов', 'Рыбаков', 'Суворов', 'Абрамов', 'Воронов', |
| 95 | 'Му� |
| 96 | ин', 'Ар� |
| 97 | ипов', 'Трофимов', 'Мартынов', 'Емельянов', 'Горшков', 'Чернов', |
| 98 | 'Овчинников', 'Селезнёв', 'Панфилов', 'Копылов', 'Ми� |
| 99 | еев', 'Галкин', 'Назаров', |
| 100 | 'Лобанов', 'Лукин', 'Беляков', 'Потапов', 'Некрасов', 'Хо� |
| 101 | лов', 'Жданов', |
| 102 | 'Наумов', 'Шилов', 'Воронцов', 'Ермаков', 'Дроздов', 'Игнатьев', 'Савин', |
| 103 | 'Логинов', 'Сафонов', 'Капустин', 'Кириллов', 'Моисеев', 'Елисеев', 'Кошелев', |
| 104 | 'Костин', 'Горбачёв', 'Оре� |
| 105 | ов', 'Ефремов', 'Исаев', 'Евдокимов', 'Калашников', |
| 106 | 'Кабанов', 'Носков', 'Юдин', 'Кулагин', 'Лапин', 'Про� |
| 107 | оров', 'Нестеров', |
| 108 | 'Харитонов', 'Агафонов', 'Муравьёв', 'Ларионов', 'Федосеев', 'Зимин', 'Па� |
| 109 | омов', |
| 110 | 'Шубин', 'Игнатов', 'Филатов', 'Крюков', 'Рогов', 'Кулаков', 'Терентьев', |
| 111 | 'Молчанов', 'Владимиров', 'Артемьев', 'Гурьев', 'Зиновьев', 'Гришин', 'Кононов', |
| 112 | 'Дементьев', 'Ситников', 'Симонов', 'Мишин', 'Фадеев', 'Комиссаров', 'Мамонтов', |
| 113 | 'Носов', 'Гуляев', 'Шаров', 'Устинов', 'Вишняков', 'Евсеев', 'Лаврентьев', |
| 114 | 'Брагин', 'Константинов', 'Корнилов', 'Авдеев', 'Зыков', 'Бирюков', 'Шарапов', |
| 115 | 'Никонов', 'Щукин', 'Дьячков', 'Одинцов', 'Сазонов', 'Якушев', 'Красильников', |
| 116 | 'Гордеев', 'Самойлов', 'Князев', 'Беспалов', 'Уваров', 'Шашков', 'Бобылёв', |
| 117 | 'Доронин', 'Белозёров', 'Рожков', 'Самсонов', 'Мясников', 'Ли� |
| 118 | ачёв', 'Буров', |
| 119 | 'Сысоев', 'Фомичёв', 'Русаков', 'Стрелков', 'Гущин', 'Тетерин', 'Колобов', |
| 120 | 'Субботин', 'Фокин', 'Бло� |
| 121 | ин', 'Селиверстов', 'Пестов', 'Кондратьев', 'Силин', |
| 122 | 'Меркушев', 'Лыткин', 'Туров', |
| 123 | ); |
| 124 | |
| 125 | protected static $lastNameSuffix = array('a', ''); |
| 126 | |
| 127 | /** |
| 128 | * Return male middle name |
| 129 | * |
| 130 | * @example 'Иванович' |
| 131 | * |
| 132 | * @access public |
| 133 | * |
| 134 | * @return string Middle name |
| 135 | */ |
| 136 | public function middleNameMale() |
| 137 | { |
| 138 | return static::randomElement(static::$middleNameMale); |
| 139 | } |
| 140 | |
| 141 | /** |
| 142 | * Return female middle name |
| 143 | * |
| 144 | * @example 'Ивановна' |
| 145 | * |
| 146 | * @access public |
| 147 | * |
| 148 | * @return string Middle name |
| 149 | */ |
| 150 | public function middleNameFemale() |
| 151 | { |
| 152 | return static::randomElement(static::$middleNameFemale); |
| 153 | } |
| 154 | |
| 155 | /** |
| 156 | * Return middle name for the specified gender. |
| 157 | * |
| 158 | * @access public |
| 159 | * @param string|null $gender A gender the middle name should be generated |
| 160 | * for. If the argument is skipped a random gender will be used. |
| 161 | * @return string Middle name |
| 162 | */ |
| 163 | public function middleName($gender = null) |
| 164 | { |
| 165 | if ($gender === static::GENDER_MALE) { |
| 166 | return $this->middleNameMale(); |
| 167 | } elseif ($gender === static::GENDER_FEMALE) { |
| 168 | return $this->middleNameFemale(); |
| 169 | } |
| 170 | |
| 171 | return $this->middleName(static::randomElement(array( |
| 172 | static::GENDER_MALE, |
| 173 | static::GENDER_FEMALE, |
| 174 | ))); |
| 175 | } |
| 176 | |
| 177 | /** |
| 178 | * Return last name for the specified gender. |
| 179 | * |
| 180 | * @param string|null $gender A gender of the last name should be generated |
| 181 | * for. If the argument is skipped a random gender will be used. |
| 182 | * @return string Last name |
| 183 | */ |
| 184 | public function lastName($gender = null) |
| 185 | { |
| 186 | $lastName = static::randomElement(static::$lastName); |
| 187 | |
| 188 | if (static::GENDER_FEMALE === $gender) { |
| 189 | return $lastName . 'a'; |
| 190 | } elseif (static::GENDER_MALE === $gender) { |
| 191 | return $lastName; |
| 192 | } |
| 193 | |
| 194 | return $lastName . static::randomElement(static::$lastNameSuffix); |
| 195 | } |
| 196 | } |
| 197 |