Читать книгу Programmieren mit PHP - Andreas Hitzig - Страница 7
Methoden und Eigenschaften
ОглавлениеNeben der Überprüfung der Klasse bietet Ihnen PHP weitere Funktionen zur Prüfung, ob einzelne Elemente vorhanden sind, wie etwa method_exists oder property_exists. Die erste Funktion überprüft, ob eine Methode innerhalb eines Objekts existiert, und liefert entsprechend true oder false als Rückgabewert:
bool method_exists ( mixed $object ,
string $method_name )
Als Übergabewert geben Sie eine Objektinstanz oder einen Klassennamen sowie den gewünschten Methodennamen mit. Neu seit PHP 5 ist die Möglichkeit, diese Überprüfung auch für die vorhandenen Eigenschaften mit Hilfe von property_exists() durchzuführen:
bool property_exists ( mixed $class ,
string $property )
Die Struktur der Übergabeparameter ist vergleichbar mit method_exists() und umfasst den Namen der Klasse oder eines Objekts sowie den Namen der Eigenschaft.
Ebenfalls bereits seit PHP 4 existiert die Funktion get_parent_class(), die in PHP 5 einige Anpassungen erfahren hat. Die Struktur ist denkbar einfach und besitzt lediglich einen - inzwischen optionalen - Parameter, der das untersuchte Objekt oder den untersuchten Klassenname enthält:
string get_parent_class ([ mixed $object ])
Als Rückgabewert erhalten Sie den Namen der Elternklasse zurück. Besitzt das Element keine Elternklasse, ist der Rückgabewert entsprechend false. Rufen Sie die Funktion außerhalb eines Objekts ohne Parameter auf, ist der Rückgabewert ebenfalls false:
class auto {
function auto() {
...
} }
class familienauto extends auto {
function familienauto() {
echo "Ich bin die Kindklasse von " ,
get_parent_class($this) , "\n"; }
}
class sportwagen extends auto {
function sportwagen() {
echo "Ich bin ebenfalls die Kindklasse
von " , get_parent_class('sportwagen')
, "\n"; }
}
$touran = new familienauto();
$porsche = new sportwagen();
Die Elternklasse ist auto, von der die beiden Kindklassen familienauto und sportwagen abgeleitet sind. Als Übergabe der Klasse familienauto wird eine direkte Referenzierung über das Objekt dargestellt, in der Klasse sportwagen entsprechend über den Namen der Kindklasse.