pl: per Interace Datentyp definieren möglich?

Beitrag lesen

Ok, ich will aber wissen ob diese Art von pseudo Datentypen sich anderen PHP-Frameworks bedienen.

Im Grunde genommen ist ja jede Klasseninstanz ein abstrakter Datentyp. Die Geschichte die dahinter steckt, wurde in Perl geschrieben: "Eine Klasseninstanz ist nichts weiter als eine Referenz die weiß zu welcher Klasse sie gehört weil sie mit dem Namen einer Klasse gesegnet wurde."

PHP Entwickler kennen zwar keine bless()-Funktion aber der Dumper print_r() zeigt alle Klassennamen an, auch die der aggregierten Objekte:

class Hlp{
    protected $h;
}


class Fubar {
  protected $foo;
  protected $bar;

    function __construct(){
        $this->HLP = new Hlp;
    }

}


$fb = new Fubar;

print_r($fb);


/*

Fubar Object
(
    [foo:protected] => 
    [bar:protected] => 
    [HLP] => Hlp Object
        (
            [h:protected] => 
        )

)
*/