Dienstag, 28. Dezember 2010

Einfaches Modulsystem in PHP für wissenschaftliche Software

Die Anforderung ist eine PHP-Datei zu haben, in die man ein Modul / eine Klasse einfügen kann, die eine Schnittstelle zu einer wissenschaftlichen Software bereitstellt. Letztere wird dann von PHP auf der Kommandozeile ausgeführt.

Diese Module sollen, wenn in die Datei manuell eingefügt, automatisch erkannt und dem Benutzer im Webinterface zur Auswahl bereitgestellt werden. Dafür fragt PHP alle vorhandenen Klassen mittels get_declared_classes() ab. Danach wird mit is_subclass_of($object, $klasse) gecheckt, ob die Klasse eine Subklasse von der abstrakten Modulsuperklasse ist. Diese "markiert" eine erbende Klasse als Modul und verbirgt Eigenschaften vor demjenigen, der ein Modul anlegen will. Dies macht die Sache für denjenigen am Schluss sehr einfach.

Die beiden Funktionen get_declared_classes() und is_subclass_of($object, $klasse) sind in den beieden vorigen Posts beschrieben.

Keine Kommentare:

Kommentar veröffentlichen