Rule Nasıl Yapılır?

Rule Nasıl Yapılır?
Rule Nasıl Yapılır?

Laravel ile Custom Rule Nedir ve Neden Kullanılır?

Modern web uygulaması geliştirirken veri güvenliğini ve tutarlılığını sağlamak için en kritik aşamalardan biri veri doğrulamadır (validation). Laravel, geliştiricilere sunduğu yerleşik doğrulama kuralları (email, unique, numeric, date vb.) ile işleri son derece kolaylaştırır. Ancak gerçek dünya projelerinde, standart kuralların yetersiz kaldığı ve uygulamaya özgü özel iş mantıklarının (business logic) devreye girdiği durumlarla sıklıkla karşılaşırız. İşte bu noktada, projenize özel doğrulama mantıkları eklemek için kendi kural sınıflarınızı oluşturmanız gerekir.

Laravel ekosisteminde özel bir doğrulama kuralı oluşturmak, kodun okunabilirliğini artırır, tekrar kullanılabilirliği (reusability) sağlar ve Controller veya Request sınıflarınızın şişmesini engeller. Bu rehberde, Laravel projelerinizde Rule nasıl yapılır sorusunun cevabını tüm detaylarıyla, adım adım ve gerçek hayattan senaryolarla öğreneceksiniz. Yazacağımız kurallar temiz kod (clean code) prensiplerine uygun, test edilebilir ve performansı optimize edilmiş yapıda olacaktır.

Özel bir Rule sınıfı yazarak, doğrulama mantığını tek bir merkezde toplarsınız. Örneğin, bir T.C. Kimlik Numarası doğrulama algoritmasını veya bir kullanıcının girdiği IBAN numarasının geçerliliğini kontrol eden mantığı uygulamanın farklı yerlerinde tekrar tekrar yazmak yerine, tek bir Rule sınıfı içerisinde tanımlayıp her yerde güvenle çağırabilirsiniz. Bu yaklaşım, gelecekte kural üzerinde bir değişiklik yapmanız gerektiğinde sadece tek bir dosyayı güncelleyerek tüm uygulamayı modernize etmenizi sağlar.

Ön Hazırlık ve Gereksinimler

Bu eğitimde yer alan kod örneklerinin ve anlatımların sisteminizde sorunsuz çalışabilmesi için belirli teknik gereksinimlerin karşılanmış olması gerekmektedir. Laravel, sürekli gelişen bir framework olduğu için güncel sürümlerin sunduğu modern sözdizimlerini (syntax) kullanmak kod kalitenizi artıracaktır.

  • PHP Sürümü: PHP 8.2 veya üzeri bir sürümün yüklü olduğundan emin olun. PHP'nin yeni sürümlerinde gelen tip belirteçleri (type hinting) ve salt okunur özellikler (readonly properties) kodumuzun güvenliğini artıracaktır.
  • Laravel Sürümü: Bu rehber, Laravel 11 ve 2026 yılı standartlarına uygun olarak hazırlanmıştır. Eski `Rule` arayüzleri yerine modern `Illuminate\Contracts\Validation\ValidationRule` arayüzü kullanılacaktır.
  • Veritabanı Bağlantısı: İlerleyen adımlarda yapacağımız veritabanı bağlantılı doğrulama örneği için çalışan bir MySQL, PostgreSQL veya SQLite veritabanı bağlantınızın olması önerilir.
  • Geliştirme Ortamı: Terminal erişimi (Artisan komutlarını çalıştırabilmek için) ve tercih ettiğiniz bir kod editörü (VS Code, PHPStorm vb.).

Eğer ortamınız hazırsa, terminalinizi açıp mevcut Laravel projenizin dizinine geçiş yaparak ilk özel kuralımızı oluşturmaya başlayabiliriz.

php artisan make:rule Komutu ile Sınıf Oluşturma

Laravel, yeni bir özel kural sınıfı oluşturmayı son derece kolaylaştıran bir Artisan komutuna sahiptir. Bu komut, bizim için gerekli olan temel iskeleti ve arayüz (interface) uygulamalarını otomatik olarak oluşturur. Böylece sıfırdan dosya oluşturup isim alanlarını (namespace) yazmakla vakit kaybetmeyiz.

Öncelikle terminalimizi açalım ve projemizin kök dizininde aşağıdaki komutu çalıştıralım. Bu örnekte, kullanıcının girdiği değerin sadece büyük harflerden oluşup oluşmadığını kontrol eden basit bir kural oluşturacağız:

php artisan make:rule OnlyUppercase

Bu komut başarıyla çalıştıktan sonra, projenizin dizin yapısında app/Rules adında yeni bir klasör oluşturulacak (eğer daha önce yoksa) ve içerisine OnlyUppercase.php adında bir dosya eklenecektir. Laravel'in modern sürümlerinde oluşturulan bu sınıf, varsayılan olarak Illuminate\Contracts\Validation\ValidationRule arayüzünü uygular (implements).

Şimdi bu komutun ürettiği varsayılan dosya içeriğine ve bu yapının ne anlama geldiğine yakından bakalım. Dosyayı editörünüzde açtığınızda aşağıdaki gibi temiz bir yapı ile karşılaşacaksınız:

                
Bu yazıya tepkinizi paylaşın:
Zeynep Arslan

Mutfak pratikleri ve organizasyonel hayat tüyoları üzerine uzman bir içerik üreticisiyim. Günlük rutinleri optimize eden yöntemleri, anlaşılır ve uygulanabilir rehberler haline getiriyorum.

Yorumlar (0)

Yorum Yaz