Hauptmenü

Untermenü

OOP PHP5 - Klassen- und Objektfunktionen

1. Nützliche Helferlein

... gibt es zwar schon seit PHP 4.x, ich stelle aber mal trotzdem ein paar davon vor. Gemäß meiner Linie konzentriere ich mich aber nur auf die meiner Meinung nach sinnvollen. Wer sich für alle interessiert, findet hier eine komplette Liste, auch wenn einige mittlerweile als "deprecated" (missbilligt) eingestuft werden. Und das zu Recht.

2. class_exists

... prüft, ob eine Klasse verfügbar ist. Diese Funktion kann man sehr gut in Kombination mit __autoload nutzen, um mögliche Fehler abzufangen.


function __autoload($class)
{
  @include 'class/'.$class.'.class.php';
  if (!class_exists($classfalse))
  {
    die('Klasse nicht gefunden: '$class);
  }
} 
$dieter = new Mann;
$doerte = new Frau;

3. get_parent_class

Ermittelt die Elternklasse eines Objektes.


class Mensch {  }
class Mann extends Mensch
{
  public function __construct()
  {
    echo get_parent_class($this);
  }
}
$dieter = new Mann;

4. get_class_methods

Gibt die Methoden einer Klasse zurück. Dabei gibt es zwei Möglichkeiten.


class Mann
{
  public function __construct () { ... }
  public function setGeschlecht () { ... }
}
print_r (get_class_methods('Mann'));
print_r (get_class_methods(new Mann));

5. get_class_vars

Liefert die vorbelegten(!) Werte von öffentlichen(!) Eigenschaften einer Klasse.


class Frau
{  
  public    $schuhe     0;
  public    $alter      42;
  protected $geschminkt false;
  private   $geschlecht;
  public function __construct()
  {
    $this -> schuhe 200;
    $this -> alter  29;
  }
}
$doerte = new Frau();
print_r (get_class_vars(get_class($doerte)));

6. method_exists

Prüft, ob eine Methode in einer Klasse vorhanden ist.


class Frau
{
  private $alter 29;
  public function setzEchtesAlter($value)
  {
    $this -> alter $value;
  }
}
$doerte = new Frau;
if (method_exists($doerte'setzEchtesAlter'))
{
  $doerte -> setzEchtesAlter 42;
}

7. property_exists

Prüft, ob eine Eigenschaft in einer Klasse vorhanden ist.


class Frau
{
  public $alter 29;
}
$doerte = new Frau;
if (property_exists($doerte'alter'))
{
  $doerte -> alter 42;
}

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt