Beschreibung
Dies ist die Kerndatei für APPNET OS Evil Extend.
Evil Extend ist eine der mächtigsten Funktionen in APPNET OS.
Durch Evil Extend kann jede Klasse, egal ob Core Klasse oder eine App Klasse, erweitert werden, ohne das die Klasse selbst angefasst werden muss.
Damit kann jede Methode einer Klasse überschrieben werden oder neue Methoden hinzugefügt werden.
Dabei ist es egal welchen Namespace die Klasse hat.
Die Klassen können mehrfach überladen werden, wobei die Überladungen rückwärts, rekursiv vorgenommen werden.
Die Ladereihenfolge der Erweiterungen kann im APPNET OS Administrations-Bereich verändert werden und werden darauf hin in dieser Datei hinterlegt.
Das APPNET OS System gibt Apps eine einfache Möglichkeit Erweiterungen vorzunehmen.
Die Erweiterungen werden bei der Installation der App automatisch in diese Datei hinzugefügt.
Wird eine App deaktiviert, dann wird auch die Erweiterung automatisch deaktiviert.
Beim deinstallieren eine App wird die Erweiterung wieder entfernt.
Wie Sie eine Klasse, durch eine App, mit APPNET OS Evil Extend erweitern, finden Sie im Entwickler Tutorial.
Was ist bei APPNET OS Evil Extend zu beachten?
Die Datei /custom/extends.php verwaltet die Erweiterungen und die Überladereihenfolge.
Wir eine App zur Laufzeit installiert oder die Ladereihenfolge über den Administrativen Bereich angepasst, dann wird diese Datei verändert.
Sollten Sie über einen automatischen Deployment-Prozess verfügen, dann ist dringend zu beachten dass diese Datei nicht überschrieben wird.
Nehmen Sie für solche Fälle an besten die Datei aus dem Prozess heraus und binden Sie diese am besten als Symlink ein.
Sollten Sie Ihre Datei per FTP auf Ihren Server transportieren, dann achten Sie darauf, dass die Datei nicht überschieben wird, da sonst Ihre Erweiterungen und die Ladereihenfolge verloren gehen.
Wenn Sie mit einem lokalen Entwicklungssystem arbeiten, dann können Sie die Überladungsreihenfolge auch dort vornehmen und die Datei in Ihrem Live System ersetzen.
Was wenn die Datei und Ihre Überladungen verloren gehen?
Sollte die Datei verloren gehen, dann werden die Überladungen nicht mehr vorgenommen.
Für diesen speziellen Fall müssen Sie die Apps, welche Überladungen von Klassen vornehmen, im APPNET OS Administrations-Bereich deaktivieren und wieder aktivieren.
Dabei wird die Datei geprüft und bei Bedarf erneut erstellt.
Vergessen Sie nicht die Erweiterungs-Reihenfolge wieder anzupassen und die Datei zu sichern.