Effizienteste Methode zum laden von Klassen in PHP
Ich bin ein c# - Entwickler, so bin ich verwendet, um einfach kompilieren eine Bibliothek und hat es innerhalb eines Projektes für den Einsatz. Ich habe noch nicht wirklich herausgefunden, der beste Weg, um laden der verschiedenen Objekte innerhalb einer PHP-Anwendung. Ich weiß nicht weiter verwenden möchten, benötigen. Was ist eine gute Annäherung, um zu nehmen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie PHP 5.x, möchten Sie wahrscheinlich autoloading.
Brauchen Sie nicht zu halten mit
require
. Sie könnenrequire_once()
die nur Parsen der Datei, wenn Sie nicht bereits geladen wurden.Auch in PHP, denn das umfasst passieren bei runtime sind Sie frei, um
require_once()
in der Mitte eine bedingte, wenn es angemessen ist.War ich C# Entwickler in der Vergangenheit und ich kann Ihnen sagen, dass Sie brauchen, zu denken, etwas anders, wenn Sie wollen, zu schreiben, PHP-Seiten. Sie müssen im Hinterkopf behalten, dass jede unnötige umfassen erhöhen Nebenkosten von Ressourcen, und das Skript funktioniert langsamer. Also denken Sie zweimal, bevor unnötige umfasst.
Zurück zu Ihrer Frage, die Sie verwenden können,gehören, benötigen, autoload oder sogar phar. Wahrscheinlich PHAR ist näher an C# - Bibliotheken, können Sie nur eine PHAR-Bibliotheken mit einer Reihe von Klassen.
Diese in deine config-Datei( oder eine Datei in alle Seiten )
Jede Klasse in einer separaten Datei mit dem Namen.
ersetzen Sie "
Classes
" mit Ihremclasses folder
.Können Sie das automatische laden von Klassen. Siehe:
Dieser Seite:
Beachten Sie, dass Sie
spl_autoload_register()
wenn Sie nicht möchten, verwenden Sie den Zauberstab__autoload
Funktion.Foo_Bar
befindet sich aufFoo/Bar.php
; das ist, immer setzen Sie die Klasse in eine Lage, die bestimmt werden kann durch seinen Namen. Wenn Sie das nicht tun, müssen Sie eine andere Methode zum anzeigen der name einer Klasse zu einer bestimmten Datei.Den autoloader wird alle Ihre Probleme lösen.
Autoloader, wie andere erwähnt.
Wenn Sie möchten, gehen Sie Schritt weiter... Blick auf die Art und Weise, wie Kohana (zum Beispiel) das problem gelöst.