dedlfix: Wie strukturiertes landen von Klassen in Index.php?

Beitrag lesen

Tach!

Was den AutoLoader betrifft: Ich lade damit keine Klassen sondern Methoden im Rahmen einer Factory.

Dieser Thread ist vom OP mit dem Tag PHP gekenzeichnet worden. Es ist in PHP in seinem Standardlieferumfang nicht möglich, zur Laufzeit Klassen oder Objekte um Methoden zu erweitern. Es gibt lediglich Vorgehensweisen, die so etwas simulieren, aber die sind alle undurchsichtig oder unhübsch. Ich sehe auch keine Notwendigkeit für ein solches Vorgehen. Man kann über eine Factory auch einfach Instanzen von Klassen erzeugen, die eine auf dem üblichem Weg geerbte Klasse um eine Methode erweitern. Falls man das überhaupt so braucht.

Zudem ruft PHP den Autoloader nur auf, wenn eine Klasse oder ein Interface verwendet wird, die/das nicht in den bereits vorhandenen Klassen/Interfaces gefunden wurde. Ein Autoloading von Funktionen ist nicht möglich.

Lösung ist eine flache Klassenhierarchie und klare Abgenzung der Namespaces bei gleichnamigen Methoden.

Als Methoden werden Funktionen bezeichnet, die einer Klasse zugeordnet sind. Eine Klasse kann in PHP keine zwei Methoden mit demselben Namen haben. Demzufolge braucht man auch keine Namespaces, die sowieso nicht innerhalb von Klassen verwendet werden können. Zwei gleichnamige Methoden können sich lediglich in unterschiedlichen Klassen befinden und dann sind sie durch die Klassen bereits abgetrennt.

Verwendest du mal wieder die Begriffe auf unübliche Weise?

dedlfix.