Вход Регистрация
Файл: vendor/fakerphp/faker/src/Faker/Provider/tr_TR/Person.php
Строк: 187
<?php

namespace FakerProvidertr_TR;

class 
Person extends FakerProviderPerson
{
    
/**
     * @var array Turkish person name formats.
     */
    
protected static $maleNameFormats = [
        
'{{firstNameMale}} {{lastName}}',
        
'{{firstNameMale}} {{lastName}}',
        
'{{firstNameMale}} {{lastName}}',
        
'{{titleMale}} {{firstNameMale}} {{lastName}}',
    ];

    protected static 
$femaleNameFormats = [
        
'{{firstNameFemale}} {{lastName}}',
        
'{{firstNameFemale}} {{lastName}}',
        
'{{firstNameFemale}} {{lastName}}',
        
'{{titleFemale}} {{firstNameFemale}} {{lastName}}',
    ];

    
/**
     * @see http://www.guzelisimler.com/en_cok_aranan_erkek_isimleri.php
     *
     * @var array Turkish first names.
     */
    
protected static $firstNameMale = [
        
'Ahmet''Ali''Alp''Armağan''Atakan''Aşkın''Baran''Bartu''Berk''Berkay''Berke''Bora''Burak''Canberk',
        
'Cem''Cihan''Deniz''Efe''Ege''Ege''Emir''Emirhan''Emre''Ferid''Göktürk''Görkem''Güney',
        
'Kağan''Kerem''Koray''Kutay''Mert''Onur''Ogün''Polat''Rüzgar''Sarp''Serhan''Toprak''Tuna',
        
'Türker''Utku''Yağız''Yiğit''Çınar''Derin''Meriç''Barlas''Dağhan''Doruk''Çağan',
    ];

    
/**
     * @see http://www.guzelisimler.com/en_cok_aranan_kiz_isimleri.php
     *
     * @var array Turkish first names.
     */
    
protected static $firstNameFemale = [
        
'Ada''Esma''Emel''Ebru''Şahnur''Ümran''Sinem''İrem''Rüya''Ece''Burcu',
    ];

    
/**
     * @see http://tr.wikipedia.org/wiki/Kategori:T%C3%BCrk%C3%A7e_soyadlar%C4%B1
     *
     * @var array Turkish last names.
     */
    
protected static $lastName = [
        
'Abacı''Abadan''Aclan''Adal''Adan''Adıvar''Akal''Akan''Akar''Akay',
        
'Akaydın''Akbulut''Akgül''Akışık''Akman''Akyürek''Akyüz''Akşit''Alnıaçık',
        
'Alpuğan''Alyanak''Arıcan''Arslanoğlu''Atakol''Atan''Avan''Ayaydın''Aybar',
        
'Aydan''Aykaç''Ayverdi''Ağaoğlu''Aşıkoğlu''Babacan''Babaoğlu''Bademci',
        
'Bakırcıoğlu''Balaban''Balcı''Barbarosoğlu''Baturalp''Baykam''Başoğlu''Berberoğlu',
        
'Beşerler''Beşok''Biçer''Bolatlı''Dalkıran''Dağdaş''Dağlaroğlu''Demirbaş''Demirel',
        
'Denkel''Dizdar''Doğan''Durak''Durmaz''Duygulu''Düşenkalkar''Egeli''Ekici''Ekşioğlu',
        
'Eliçin''Elmastaşoğlu''Elçiboğa''Erbay''Erberk''Erbulak''Erdoğan''Erez''Erginsoy',
        
'Erkekli''Eronat''Ertepınar''Ertürk''Erçetin''Evliyaoğlu''Fahri''Gönültaş''Gümüşpala',
        
'Günday''Gürmen''Ilıcalı''Kahveci''Kaplangı''Karabulut''Karaböcek''Karadaş''Karaduman',
        
'Karaer''Kasapoğlu''Kavaklıoğlu''Kaya''Keseroğlu''Keçeci''Kılıççı''Kıraç''Kocabıyık',
        
'Korol''Koyuncu''Koç''Koçoğlu''Koçyiğit''Kuday''Kulaksızoğlu''Kumcuoğlu''Kunt',
        
'Kunter''Kurutluoğlu''Kutlay''Kuzucu''Körmükçü''Köybaşı''Köylüoğlu''Küçükler''Limoncuoğlu',
        
'Mayhoş''Menemencioğlu''Mertoğlu''Nalbantoğlu''Nebioğlu''Numanoğlu''Okumuş''Okur''Oraloğlu',
        
'Orbay''Ozansoy''Paksüt''Pekkan''Pektemek''Polat''Poyrazoğlu''Poçan''Sadıklar''Samancı',
        
'Sandalcı''Sarıoğlu''Saygıner''Sepetçi''Sezek''Sinanoğlu''Solmaz''Sözeri''Süleymanoğlu',
        
'Tahincioğlu''Tanrıkulu''Tazegül''Taşlı''Taşçı''Tekand''Tekelioğlu''Tokatlıoğlu''Tokgöz',
        
'Topaloğlu''Topçuoğlu''Toraman''Tunaboylu''Tunçeri''Tuğlu''Tuğluk''Türkdoğan''Türkyılmaz',
        
'Tütüncü''Tüzün''Uca''Uluhan''Velioğlu''Yalçın''Yazıcı''Yetkiner''Yeşilkaya''Yıldırım',
        
'Yıldızoğlu''Yılmazer''Yorulmaz''Çamdalı''Çapanoğlu''Çatalbaş''Çağıran''Çetin''Çetiner',
        
'Çevik''Çörekçi''Önür''Örge''Öymen''Özberk''Özbey''Özbir''Özdenak''Özdoğan''Özgörkey',
        
'Özkara''Özkök''Öztonga''Öztuna',
    ];

    protected static 
$title = ['Doç. Dr.''Dr.''Prof. Dr.'];

    public function 
title($gender null)
    {
        return static::
titleMale();
    }

    
/**
     * replaced by specific unisex Turkish title
     */
    
public static function titleMale()
    {
        return static::
randomElement(static::$title);
    }

    
/**
     * replaced by specific unisex Turkish title
     */
    
public static function titleFemale()
    {
        return static::
titleMale();
    }

    
/**
     * National Personal Identity number (tc kimlik no)
     *
     * @see https://en.wikipedia.org/wiki/Turkish_Identification_Number
     *
     * @return string on format XXXXXXXXXXX
     */
    
public function tcNo()
    {
        
$randomDigits = static::numerify('#########');
        
$checksum self::tcNoChecksum($randomDigits);

        return 
$randomDigits $checksum;
    }

    
/**
     * Generates Turkish Identity Number Checksum
     * Gets first 9 digit as prefix and calculates checksum
     *
     * @see https://en.wikipedia.org/wiki/Turkish_Identification_Number
     *
     * @param string $identityPrefix
     *
     * @return string Checksum (two digit)
     */
    
public static function tcNoChecksum($identityPrefix)
    {
        if (
strlen((string) $identityPrefix) !== 9) {
            throw new 
InvalidArgumentException('Argument should be an integer and should be 9 digits.');
        }

        
$oddSum 0;
        
$evenSum 0;

        
$identityArray array_map('intval'str_split($identityPrefix)); // Creates array from int

        
foreach ($identityArray as $index => $digit) {
            if (
$index === 0) {
                
$evenSum += $digit;
            } else {
                
$oddSum += $digit;
            }
        }

        
$tenthDigit = ($evenSum $oddSum) % 10;
        
$eleventhDigit = ($evenSum $oddSum $tenthDigit) % 10;

        return 
$tenthDigit $eleventhDigit;
    }

    
/**
     * Checks whether a TCNo has a valid checksum
     *
     * @param string $tcNo
     *
     * @return bool
     */
    
public static function tcNoIsValid($tcNo)
    {
        return 
self::tcNoChecksum(substr($tcNo0, -2)) === substr($tcNo, -22);
    }
}
Онлайн: 1
Реклама