2009-07-19 17 views
3

Ich brauche einige Informationen über die Aufnahme von Dateien in PHP-Klassen. Z.B.PHP-Klassen und einschließlich Dateien

include Foo2.php; //<--- Is this good?  
class Foo { 
     function doFoo(){ 
     include("Foo2.php"); //<--- or is this better? 
     //do something with vars from Foo2 
     } 
} 

Ich frage mich, was die Unterschiede neben Umfang waren und ob es noch andere Möglichkeiten, eine andere PHP-Datei in einer Klasse gehören.

Vielen Dank im Voraus für alle Antworten.

Antwort

4

gehören zum globalen Bereich. Es ist viel lesbar und wartbar.

+0

Obwohl dies richtig ist, wenn ich viele Dateien in einem globalen Bereich einschließe, die sich möglicherweise nicht nutzen lassen, wäre das nicht ineffizient? Ich nehme an, das sind Mikroeffizienz und nicht wirklich wichtig? – Mozez

+0

Verwenden Sie Bytecode-Cache, z. B .: APC, Zend Optimizer, und es wird kein Problem sein. – erenon

+1

Das ist der Kompromiss, den ich gefunden habe: Einfach zu finden - leichter zu finden und wahrscheinlicher leicht Fehler beim Refactoring zu finden (weil Sie nicht verschiedene Code-Pfade ausführen müssen, um sicherzustellen, dass etwas enthalten ist) ODER in Funktion einschließen (oder sogar innerhalb eines "wenn") und dann müssen Sie nur die Datei einschließen, wenn Sie es brauchen - und Sie haben (Zusammenhalt) Sachen lokalisiert, die zusammengehen. – grantwparks

0

Sie können PHP-Dateien nur in die Funktionen einer Klasse oder außerhalb der Klasse einschließen, so dass Sie beide Möglichkeiten haben.

Der Unterschied von diesen ist, dass der eine innerhalb der Funktion nur enthalten ist, wenn Sie diese Funktion aufrufen.

Ich finde, dass der eine innerhalb der Funktion besser ist, denn dann wird es nicht automatisch enthalten, und Sie können es nur einschließen, wenn Sie eine Funktion innerhalb dieser Klasse benötigen, die wirklich hilfreich sein kann eine Menge von Dateien.

Verwandte Themen