Also - ich habe einen einfachen PCR0 Auto-Loader in meinem bootstrap.php, die von Anbietern Verzeichnis jeder PCR0 kompatible Bibliothek Klasse laden sollte ...Überspringen Autoload-Dateien Generation in Composer?
spl_autoload_register(function($classname) {
$path = preg_match('/\\\\/', $classname)
? str_replace('\\', DIRECTORY_SEPARATOR, $classname)
: str_replace('_', DIRECTORY_SEPARATOR, $classname);
$file = VENDORS_PATH . DIRECTORY_SEPARATOR . $path . '.php';
if (file_exists($file)) {
require_once($file);
}
});
Ich bin nicht sicher, ob ich verstehe, warum Composer generiert automatisch Laden von Dateien in Anbieter Verzeichnis (nämlich Composer Verzeichnis und autoload.php Datei)?
Kann ich Composer davon abhalten, diese Auto-Loader-Dateien zu erzeugen? oder verpasse ich etwas? Ich glaube nicht, dass ich sie brauche?
"funktioniert gut ..require/include den Verkäufer/autoload.php und Komponist haben .. "Hmmm. IMHO Dependency Management und Autoloading sind verschiedene Probleme. Manche Leute ziehen es vor, zB Zend \ Loader oder andere Bibliotheken zum Autoloading zu verwenden. Normalerweise bevorzuge ich nur die Verwendung von PSR0-konformen Bibliotheken und dieses kurze Snippet im Bootstrap - und mache mir keine Gedanken über unterschiedliche Ladestrategien. Zend/Loader unterstützt auch Klassenmaps ... –
von composer docs: "Für Bibliotheken, die Autoload-Informationen angeben, generiert Composer eine Datei namens vendor/autoload.php." - Das hört sich für mich fast so an, als würde der Komponist Autoloading als eher optonal darstellen, aber du sagst es nicht? –
für Bibliotheken, die angeben, bedeutet die Bibliotheken, die Sie über Composer installieren. Wenn die Datei composer.json dieser Bibliothek Autoload-Informationen enthält, werden diese Autoload-Informationen in autoload.php gespeichert. – ppetermann