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;
 }
Пример #2
0
 /**
  * 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();
 }