I'm starting to use Composer in a project, in which I historically had all the dependencies under version control.
This project currently uses the Symfony 2 autoloader. Because Composer comes with its own autoloading mechanism (vendor/autoload.php
), that makes me wonder if I still need to use the Symfony ClassLoader.
I assume that I could just use the Composer autoloader to autoload my project classes as well:
$loader = require 'vendor/autoload.php';
$loader->add('MyProject', 'src');
Is there any drawback in using the Composer autoloader for the whole project?
Are there features the Symfony autoloader offers that I won't find in the Composer autoloader?
You can just require the composer autoloader. The only feature it lacks is the ApcClassLoader which speeds things up with APC but introduces some complexity (you have to clear the cache when deploying). Using composer's -o flag (when installing or running dump-autoload) will give you a classmap one which is more or less equivalent to APC in terms of speed but without the complexity.
来源:https://stackoverflow.com/questions/13892614/composer-vs-symfony-2-autoloader