Così - Ho una semplice PCR0 auto-loader nel mio bootstrap.php, che dovrebbe caricare qualsiasi PCR0 Class Library compatibile dal fornitori directory ...Salta la generazione di file autoload nel compositore?
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);
}
});
Io non sono sicuro se ho capito perché Il compositore genera file autoaggiunti nella directory (ovvero compositore directory e file autoload.php)?
Posso impedire a Composer di generare quei file di caricamento automatico? O mi sta sfuggendo qualcosa? Non penso di aver bisogno di loro?
" ..require/includere il venditore/autoload.php e avere il compositore .. "Hmmm. La gestione delle dipendenze e l'autoloading della IMHO sono problemi diversi. Alcune persone preferiscono, ad esempio, utilizzare Zend \ Loader o altre librerie per l'autoloading. Di solito preferisco usare solo le librerie conformi a PSR0 e questo breve frammento nel bootstrap e non preoccuparmi mai delle diverse strategie di caricamento. Zend/Loader supporta anche le classmap ... –
dai documenti del compositore: "Per le librerie che specificano le informazioni sul caricamento automatico, Composer genera un file venditore/autoload.php." - questo per me sembra quasi che Composer presenti un autoloading piuttosto optonale, eppure stai dicendo che non lo è? –
per le librerie che specificano le librerie installate tramite il compositore. Se il compositore.json di quella libreria ha informazioni di autload, allora quelle informazioni di autoload verranno inserite in autoload.php. – ppetermann