isaeken/php-tc-kimlik
Composer 安装命令:
composer require isaeken/php-tc-kimlik
包简介
PHP Turkey Identity Validation
README 文档
README
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"));
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şkeninitryapı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.
isaeken/php-tc-kimlik 适用场景与选型建议
isaeken/php-tc-kimlik 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.34k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 01 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「validation」 「identity」 「laravel」 「turkey」 「tc」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 isaeken/php-tc-kimlik 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 isaeken/php-tc-kimlik 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 isaeken/php-tc-kimlik 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Adds request-parameter validation to the SLIM 3.x PHP framework
A jQuery augmented PHP library for creating and validating HTML forms
Identity authorizator class for Nette Framework
A Laravel validator for delimiter-separated list of emails.
A CakePHP behavior to validate foreign keys
PHP Validator for stuff.
统计信息
- 总下载量: 1.34k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 18
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-01-31