/** * Initializes autoloaders. * * @param sfProjectConfiguration $configuration The current project or application configuration * @param boolean $reload If true, all autoloaders will be reloaded */ protected function initializeAutoload(sfProjectConfiguration $configuration, $reload = false) { // sfAutoload if ($reload) { $this->logSection('autoload', 'Resetting application autoloaders'); $finder = sfFinder::type('file')->name('*autoload.yml.php'); $this->getFilesystem()->remove($finder->in(sfConfig::get('sf_cache_dir'))); sfAutoload::getInstance()->reloadClasses(true); } // sfSimpleAutoload if (!$configuration instanceof sfApplicationConfiguration) { // plugins if ($reload) { foreach ($configuration->getPlugins() as $name) { $configuration->getPluginConfiguration($name)->initializeAutoload(); } } // project $autoload = sfSimpleAutoload::getInstance(sfConfig::get('sf_cache_dir') . '/project_autoload.cache'); $autoload->loadConfiguration(sfFinder::type('file')->name('autoload.yml')->in(array(sfConfig::get('sf_symfony_lib_dir') . '/config/config', sfConfig::get('sf_config_dir')))); $autoload->register(); if ($reload) { $this->logSection('autoload', 'Resetting CLI autoloader'); $autoload->reload(); } } }