protected function createConfiguration($application, $env) { $configuration = parent::createConfiguration($application, $env); $autoloader = sfSimpleAutoload::getInstance(); $config = new sfAutoloadConfigHandler(); $mapping = $config->evaluate($configuration->getConfigPaths('config/autoload.yml')); foreach ($mapping as $class => $file) { $autoloader->setClassPath($class, $file); } $autoloader->register(); return $configuration; }
/** * Loads configuration from the supplied files. * * @param array $files An array of autoload.yml files * * @see sfAutoloadConfigHandler */ public function loadConfiguration(array $files) { $config = new sfAutoloadConfigHandler(); foreach ($config->evaluate($files) as $class => $file) { $this->setClassPath($class, $file); } }
/** * Initializes autoloading for the plugin. * * This method is called when a plugin is initialized in a project * configuration. Otherwise, autoload is handled in * {@link sfApplicationConfiguration} using {@link sfAutoload}. * * @see sfSimpleAutoload */ public function initializeAutoload() { $autoload = sfSimpleAutoload::getInstance(sfConfig::get('sf_cache_dir') . '/project_autoload.cache'); if (is_readable($file = $this->rootDir . '/config/autoload.yml')) { $this->configuration->getEventDispatcher()->connect('autoload.filter_config', array($this, 'filterAutoloadConfig')); $config = new sfAutoloadConfigHandler(); $mappings = $config->evaluate(array($file)); foreach ($mappings as $class => $file) { $autoload->setClassPath($class, $file); } } else { $autoload->addDirectory($this->rootDir . '/lib'); } $autoload->register(); }