15 Mart 2013 Cuma

TypeHinting nedir? Php Typehinting

Typehinting demek, bir class'a ait metodun aldığı parametrelerin türünün önceden belirlenmesi, force edilmesi demektir. Ancak bu işlemi sadece objelerde ve arraylerde yapabilmekteyiz. Örnek verecek olursak;
  class Dubluve{   public function deneme(array $a){    var_dump($a);   }  }  $obj = new Dubluve();  
deneme metodu için şunları söyleyebiliriz;
  // bu kodlar hata verecektir  $obj->deneme("php");  $obj->deneme(123);  $obj->deneme("1");    // bu kod çalışacaktır  $obj->deneme(array("a", "b", "c"));  
Type hinting işlemini düzgün olarak array ve objelerde kullanabiliyoruz onun da şöyle bir püf noktası var. Metoda gönderdiğimiz parametre için default değer olarak NULL atarsak, gönderdiğimiz parametre de NULL olabilir. Bunu da örnekle açıklamak gerekirse,
  class DubluveRSS{   public function deneme(Dubluve $dubluve) // $dubluve değişkeni sadece Dubluve'nin objesi olabilir   public function deneme(Dubluve $dubluve = NULL) // $dubluve değişkeni Dubluve'nin objesi olabilir veya NULL olabilir  }  
Öte yandan ;
  public function deneme(array $dubluve = array("a", "b", "c"))  
bu fonksiyonu deneme(null); şeklinde çalıştıramayız. Ancak diyorsak ki, null parametre gönderilebilsin ancak null geldiyse default olarak bir şeyler atayabileyim, o zaman da şöyle birşey yapabiliriz
  public function deneme(array $dubluve = null){   if($dubluve === null){     $dubluve = array("a", "b", "c");   }   .   .   .  }  
Typehinting fonksiyonlarda da çalışmaktadır. Yine class metodlarında olduğu gibi sadece obje ve arrayler ile işlem yapılabilmektedir. Devamı için : TypeHinting nedir? Php Typehinting

Hiç yorum yok:

Yorum Gönder

Yorumunuzu esirgemeyiniz..