TC Kimlik PHP Turkey Identity Validation: Validate identity with Turkish government service

Recommend this page to a friend!
  Info   View files Documentation   View files View files (20)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2021-03-07 (6 months ago) RSS 2.0 feedNot yet rated by the usersTotal: 21 All time: 10,347 This week: 259Up
Version License PHP version Categories
php-tc-kimlik 1.0Custom (specified...7Web services, Validation, PHP 7
Description Author
This package is specific mainly for applications used in Turkey Turkey .

This package can validate identity with Turkish government service.

It can send HTTP requests to a Turkish government Web service server to validate people identity values.

Currently it can be use to validate either Turkish national or foreign people identities.

Picture of Isa Eken
  Performance   Level  
Name: Isa Eken <contact>
Classes: 11 packages by
Country: Turkey Turkey
Innovation award
Innovation award
Nominee: 7x

Details

PHP TC Kimlik

Bu kütüphaneyi kullanarak basit ve h?zl? bir ?ekilde kimlik kontrolleri yap?n. Örnek bir kullan?m:

use DateTime;
use IsaEken\PhpTcKimlik\PhpTcKimlik;

$sonuc = PhpTcKimlik::isValidIdentity("tckimlikno", "ad", "soyad", new DateTime("dogum tarihi"));

PHP TC Kimlik

Kurulum

Composer kullanarak basit bir ?ekilde projenize ekleyebilirsiniz:

composer require isaeken/php-tc-kimlik

Kullan?m

Laravel

> Türkçe dil için `config/app.phpdosyas?ndalocalede?i?keninitr` yap?n.

Kimlik Numaras?

public function index(Request $request)
{
    $request->validate([
        'tc_kimlik_numarasi' => [new IsaEken\PhpTcKimlik\Rules\IdentityNumber],
    ]);
}

?sim Kontrolü

public function index(Request $request)
{
    $request->validate([
        'isim' => [new IsaEken\PhpTcKimlik\Rules\RealName],
        'soyisim' => [new IsaEken\PhpTcKimlik\Rules\RealName],
    ]);
}

Y?l Kontrolü

public function index(Request $request)
{
    $request->validate([
        'dogum_yili' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear],
    ]);
}

Kimlik Kontrolü

public function index(Request $request)
{
    $request->validate([
        'tc_kimlik_numarasi' => ['required', new IsaEken\PhpTcKimlik\Rules\IdentityNumber],
        'isim' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName],
        'soyisim' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName],
        'dogum_yili' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear],
    ]);

    $validator = new IsaEken\PhpTcKimlik\IdentityValidator(
        "tc_kimlik_numarasi", // varsay?lan: identity_number
        "isim", // varsay?lan: first_name
        "soyisim", // varsay?lan: last_name
        "dogum_yili", // varsay?lan: birth_year
        "post", // opsiyonel method
        $request // opsiyonel
    );
    
    $validator->validate();
}

Örnek:

public function index(Request $request)
{
    $request->validate([
        'identity_number' => ['required', new IsaEken\PhpTcKimlik\Rules\IdentityNumber],
        'first_name' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName],
        'last_name' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName],
        'birth_year' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear],
    ]);

    ((new IsaEken\PhpTcKimlik\IdentityValidator())->validate());
}

H?zl? kullan?m

Kimlik bilgilerinin kontrolü

Kimlik bilgilerini kontrol etmek için ki?inin; kimlik numaras?, ad?, soyad? ve do?um y?l? olmal?d?r. Basit bir ?ekilde bu bilgiler ile örnekteki kodu kullanarak bir do?rulama yapabilirsiniz.

// de?i?kenler s?ras? ile; kimlik numaras?, ad?, soyad?, do?um tarihi.
// do?um tarihi DateTimeInterface olmal?d?r e?er gün ve ay girilmek istenmezse rastgele gün ay belirtilebilir çünkü bu i?lemde sadece do?um y?l? kullan?lacakt?r: new DateTime("01.01.2000")
IsaEken\PhpTcKimlik\PhpTcKimlik::isValidIdentity("123456789", "isa", "eken", new DateTime("10.04.2002"));

Yabanc? kimlik bilgilerinin kontrolü

Kimlik bilgilerini kontrol ederken kullan?lan her?ey bu i?lem içinde geçerlidir. Bu i?lemde kimlik numaras?na syntax kontrolü yap?lmaz ve direkt olarak nvi'den kimlik kontrolü yap?l?r.

IsaEken\PhpTcKimlik\PhpTcKimlik::isValidForeignIdentity("123456789", "isa", "eken", new DateTime("10.04.2002"));

Kimlik kart bilgilerinin kontrolü

Kimlik kart? bilgilerini kontrol etmek için ki?inin; kimlik numaras?, kart seri numaras?, ad?, soyad? ve do?um tarihi olmal?d?r.

IsaEken\PhpTcKimlik\PhpTcKimlik::isValidIdentityCard(
    "123456789", // kimlik numaras?
    "xxxxxxxxx", // seri numaras?
    "isa", // ad
    "eken", // soyad
    new DateTime("10.04.2002") // do?um tarihi. gün, ay ve y?l gerekli
);

Detayl? kullan?m ve kimlik arayüzü

Kimlik arayüzü

Tüm i?lemlerden önce ilk olarak kimlik s?n?f?n? kullanarak bir kimlik olu?turmal?s?n?z.

$kimlik = new \IsaEken\PhpTcKimlik\PhpTcKimlik;

bu s?n?fa ki?inin kimlik bilgilerini chained fonksiyonlar ile verebilirsiniz. Varsay?lan de?erler bo? olacakt?r.

Verileri almak için kullanabilece?iniz fonksiyonlar:

$kimlik->getIdentityNumber(); // string olarak ki?inin kimlik numaras?n? döndürür.
$kimlik->getSurname(); // string olarak ki?inin soyad?n? döndürür.
$kimlik->getGivenName(); // string olarak kimlik ad?n? döndürür.
$kimlik->getBirthDate(); // DateTimeInterface olarak ki?inin do?um tarihini döndürür.
$kimlik->getGender(); // string olarak ki?inin cinsiyetini döndürür.
$kimlik->getDocumentNumber(); // string olarak ki?inin kimlik kart?n?n seri numaras?n? döndürür.
$kimlik->getNationality(); // string olarak ki?inin uyru?unu döndürür.
$kimlik->getValidUntil(); // DateTimeInterface olarak ki?inin kimli?inin son geçerlilik tarihini döndürür.
$kimlik->getMotherName(); // string olarak ki?inin anne ad?n? döndürür.
$kimlik->getFatherName(); // string olarak ki?inin baba ad?n? döndürür.
$kimlik->getIssuedBy(); // string olarak ki?inin kimli?ini veren makan?m ad?n? döndürür.

Verileri uygulamak için kullanabilece?iniz fonksiyonlar. Tüm fonksiyonlar `IdentityCardInterface` dönecektir, yani tüm fonksiyonlar? ard arda kullanabilirsiniz (chianed).

$kimlik->setIdentityNumber("12345678910"); // kimlik numaras?n? de?i?tir.
$kimlik->setSurname("Soyad?"); // soyad? de?i?tir.
$kimlik->setGivenName("Ad?"); // ad? de?i?tir.
$kimlik->setBirthDate(new DateTime("01.28.2021")); // do?um tarihini de?i?tir.
$kimlik->setGender("E / M"); // cinsiyeti de?i?tir.
$kimlik->setDocumentNumber("xxxxxxxxx"); // seri numaras?n? de?i?tir.
$kimlik->setNationality("T.C./TUR"); // uyru?u de?i?tir.
$kimlik->setValidUntil(new DateTime("01.28.2021")); // son geçerlilik tarihini de?i?tir.
$kimlik->setMotherName("Annesi"); // anne ad?n? de?i?tir.
$kimlik->setFatherName("Babas?"); // bana ad?n? de?i?tir.
$kimlik->setIssuedBy("T.C."); // kimli?i veren makam?m ad?n? de?i?tir.

Kontroller

Olu?turulan kimli?i kullanarak kontrolleri yapabilirsiniz.

Kimlik kontrolü

Kimlik numaras?, ad, soyad ve do?um y?l?n? kullanarak nvi üzerinden bir kontrol yapmak için:

$kimlik->validateIdentityNumber(); // boolean

Yabanc? kimlik numaras?, ad, soyad ve do?um tarihi kullanarak nvi üzerinden bir kontrol yapmak için:

$kimlik->validateForeignIdentityNumber(); // boolean

Kimlik numaras?, kimlik seri numaras?, ad, soyad ve do?um tarihi kullanarak nvi üzerinden kimlik kart? kontrolü yapmak için:

$kimlik->validateIdentityCard(); // boolean

Örnekler

Kimlik numaras? / Yabanc? kimlik numaras? kontrolü

$kimlik = new IsaEken\PhpTcKimlik\PhpTcKimlik;
$kimlik->setIdentityNumber("12345678910");
$kimlik->setGivenName("ad");
$kimlik->setSurname("soyad");
$kimlik->setBirthDate(new DateTime("28.04.2021"));
$kimlik->validateIdentityNumber(); // kimlik numaras? kontrolü
$kimlik->validateForeignIdentityNumber(); // yabanc? kimlik numaras? kontrolü

Kimlik kart? kontrolü

(new IsaEken\PhpTcKimlik\PhpTcKimlik)
    ->setIdentityNumber("12345678910")
    ->setDocumentNumber("xxxxxxxxx")
    ->setGivenName("ad")
    ->setSurname("soyad")
    ->setBirthDate(new DateTime("28.04.2021"))
    ->validateForeignIdentityNumber();

Yard?mc? fonksiyonlar

use IsaEken\PhpTcKimlik\Helpers;

// yaz?y? Türkçe karakterleri dikkate alarak küçük harflere çevirir.
Helpers::lower("TÜRKÇE"); // türkçe

// yaz?y? Türkçe karakterleri dikkata alarak büyük harflere çevirir.
Helpers::upper("türkçe"); // türkçe

// kimlik numaras?n?n syntax?n?n do?rulu?unu kontrol eder.
Helpers::verifyIdentity("12345678910"); // true
Helpers::verifyIdentity("00987654321"); // false

// Türkçe karakterler içeren bir isimin syntax?n? kontrol eder.
Helpers::verifyName("ata"); // true
Helpers::verifyName("!'\""); // false

// de?i?kenin bir y?l? ifade edip etmedi?ini kontrol eder.
Helpers::verifyYear(1881); // true
Helpers::verifyYear("1881"); // true
Helpers::verifyYear(-15); // false
Helpers::verifyYear("-15"); // false
Helpers::verifyYear("www"); // false

/
 * Verify year is valid.
 *
 * @param int|string $year
 * @param int $min
 * @param int $max
 * @return bool
 */
Helpers::verifyYear("2000", 2000, 3000); //  true

Testler

composer test

Lisans

Bu yaz?l?m MIT lisans? alt?nda da??t?lmaktad?r. Lisans Dosyas?n? inceleyin.

  Files folder image Files  
File Role Description
Files folder imageresources (1 directory)
Files folder imagesrc (5 files, 4 directories)
Files folder imagetests (1 file)
Plain text file composer.json Data Auxiliary data
Plain text file LICENSE.md Lic. License text
Plain text file phpunit.xml Data Auxiliary data
Plain text file README.md Doc. Documentation
Plain text file travis.yml Data Auxiliary data

  Files folder image Files  /  resources  
File Role Description
Files folder imagelang (2 directories)

  Files folder image Files  /  resources  /  lang  
File Role Description
Files folder imageen (1 file)
Files folder imagetr (1 file)

  Files folder image Files  /  resources  /  lang  /  en  
File Role Description
  Plain text file messages.php Aux. Auxiliary script

  Files folder image Files  /  resources  /  lang  /  tr  
File Role Description
  Plain text file messages.php Aux. Auxiliary script

  Files folder image Files  /  src  
File Role Description
Files folder imageEnums (1 file)
Files folder imageInterfaces (1 file)
Files folder imageRules (3 files)
Files folder imageTraits (2 files)
  Plain text file Helpers.php Class Class source
  Plain text file IdentityValidator.php Class Class source
  Plain text file NviRequest.php Class Class source
  Plain text file PhpTcKimlik.php Class Class source
  Plain text file PhpTcKimlikServiceProvider.php Class Class source

  Files folder image Files  /  src  /  Enums  
File Role Description
  Plain text file Patterns.php Class Class source

  Files folder image Files  /  src  /  Interfaces  
File Role Description
  Plain text file IdentityCardInterface.php Class Class source

  Files folder image Files  /  src  /  Rules  
File Role Description
  Plain text file IdentityNumber.php Class Class source
  Plain text file RealName.php Class Class source
  Plain text file RealYear.php Class Class source

  Files folder image Files  /  src  /  Traits  
File Role Description
  Plain text file IdentityCardTrait.php Class Class source
  Plain text file ValidatorTrait.php Class Class source

  Files folder image Files  /  tests  
File Role Description
  Plain text file GeneralTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:21
This week:0
All time:10,347
This week:259Up
For more information send a message to info at phpclasses dot org.