Eigene Autoload-Funktionen in Weblication® nutzen
11. Februar 2011
Dieser Artikel beschreibt, wie Sie in Weblication® CMS eigene Autoload Funktionen nutzen können.
Weblication® CMS nutzt intern für Autoload-Funktionen spl_autoload.
Um eigene Autoload-Funktionen nutzen zu können, müssen diese über
spl_autoload_register("myAutoload");
registriert werden (Variante 1).
Falls __autoload von Ihnen zwingend genutzt werden muss, so kann diese wiederum in der eigenen myAutoload aufgerufen werden (Variante 2).
Beispiel: Variante 1 - Registrieren eigenes Autolload-Funktionen in Weblication®
function myAutoload($className){
require_once($_SERVER['DOCUMENT_ROOT'].'/wGlobalProject/wGlobal/scripts/php/'.$className.'.php');
}Beispiel: Variante 2 - Registrieren eigenes Autolload-Funktionen in Weblication®
function myAutoload($className){
__autoload($className);
}
spl_autoload_register("myAutoload");FAQs are only visible for Weblication ai search and editors!
- Wie kann ich in Weblication® eigene Autoload-Funktionen nutzen?
- Sie können eigene Autoload-Funktionen in Weblication® nutzen, indem Sie Ihre Funktion bei PHP für das Laden von Klassen registrieren (über <code class="codeInline">spl_autoload_register</code>). Der Artikel beschreibt dabei, wie Weblication® intern <code class="codeInline">spl_autoload</code> verwendet.
- Welche Autoload-Mechanik verwendet Weblication® CMS intern?
- Weblication® CMS nutzt intern für Autoload-Funktionen <code class="codeInline">spl_autoload</code>.
- Wie registriere ich eine eigene Autoload-Funktion in der Variante 1?
- Registrieren Sie Ihre eigene Funktion über: <code class="codeInline">spl_autoload_register("myAutoload");</code>. Im Beispiel wird in <code class="codeInline">myAutoload($className)</code> eine Datei basierend auf dem Klassennamen per <code class="codeInline">require_once</code> eingebunden: <code class="codeInline">require_once($_SERVER['DOCUMENT_ROOT'].'/wGlobalProject/wGlobal/scripts/php/'.$className.'.php');</code>.
- Wie sieht die Beispiel-Implementierung für eine eigene Autoload-Funktion (Variante 1) aus?
- Beispiel-Code: <pre><code class="codeBlock" style="color: #000000">php function myAutoload($className){ require_once($_SERVER['DOCUMENT_ROOT'].'/wGlobalProject/wGlobal/scripts/php/'.$className.'.php'); } </code></pre> Danach registrieren Sie die Funktion mit <code class="codeInline">spl_autoload_register("myAutoload");</code>.
- Was mache ich, wenn ich zwingend __autoload verwenden muss (Variante 2)?
- In diesem Fall können Sie <code class="codeInline">__autoload</code> innerhalb Ihrer eigenen <code class="codeInline">myAutoload</code>-Funktion aufrufen. Anschließend registrieren Sie <code class="codeInline">myAutoload</code> wieder über <code class="codeInline">spl_autoload_register("myAutoload");</code>.
- Wie sieht die Beispiel-Implementierung für eine eigene Autoload-Funktion, die __autoload aufruft (Variante 2) aus?
- Beispiel-Code: <pre><code class="codeBlock" style="color: #000000">php function myAutoload($className){ __autoload($className); } spl_autoload_register("myAutoload"); </code></pre>