Doğru türü emin değişkenler yapma, __ construct doğrulanıyor

0 Cevap php

Benim ilk gerçek PHP Class Yazma ve bir sorun geldi, şu benim __ construct yöntem:

public function __construct($foo,$bar) {
       $this->foo = $foo;
       $this->bar = $bar;
}

Her iki $foo ve $bar onlar olmadan, gerekli olan yöntemlerin başarısız ve php hataları verecektir. Nesnesi başlatıldığında onlar tanımlı değil zaman tamam:

$var = new Class();

Bu bir hata verecektir gibi (örn. Sınıf 2 params'ı, hiçbiri set gerektirir). Ama onlar gibi doğru veri türü set ama değilse:

$var = new Class('33','ddd');

Benim yöntemleri hala denemek ve yanlış değişkenleri ile çalıştırın ve daha sonra hataları basacaktır.

What's the best practice to validate these? In the construct or in each method?

Ben şu an kullanıyorum Benim çözüm çalışır, ama 'doğru' yolu ise emin değilim:

//$foo needs to be a string with letters only
//$bar needs to be an integer
public function __construct($foo,$bar) {
       $this->foo = $foo;
       $this->bar = $bar;
       if(!is_numeric($bar)){
       //print error msg
       }
       elseif(other validation case)
       etc...
}

Eğer kullanılan herhangi bir referans malzeme bağlantılar büyük takdir böylece OO programlama kavramları, benim için oldukça yeni.

0 Cevap