Despre Type Hinting in php

Am inceput sa citesc PHP Object, Patterns, and Practice si am inteles in sfarsit ce inseamna Type Hinting, desi il folosisem, dar nu stiam ca se numeste asa.
De exemplu, fara Type Hinting daca ai o metoda:

class MyClass {
  public function myFunc($unObiect) {
    echo "bla bla";
  }
}

poti sa apelezi aceasta metoda:

$obiect = new MyClass();
$obiectRau = new clasaRea();
$obiectBun = new clasaBuna();

$obiect->myFunc($obiectBun);

DAR si cu

$obiect->myFunc($obiectRau);

Cu Type Hinting, am rescrie myFunc astfel:

class MyClass {
  public function myFunc(clasaBuna $unObiect) {
    echo "bla bla";
  }
}

acum, daca vom apela

$obiect->myFunc($obiectRau); 

va da Fatal Error. De ce? Pentru ca $obiectRau nu este de tipul clasaBuna, asa cum cere definitia metodei.

Sper ca am inteles corect 🙂

Facebook Comments

2 comentarii la „Despre Type Hinting in php”

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.