Пример #1
0
 /**
  * Register a new plugin for autoloading.
  * 
  */
 private function addPlugin($pluginName)
 {
     //    nbLogger::getInstance()->logLine('Loading Plugin <comment>' . $pluginName . '</comment>...');
     if (key_exists($pluginName, $this->plugins)) {
         return true;
     }
     foreach ($this->pluginDirs as $dir) {
         $path = $dir . '/' . $pluginName;
         if (is_dir($path)) {
             $this->plugins[$pluginName] = $path;
         }
     }
     if (!key_exists($pluginName, $this->plugins)) {
         throw new Exception(sprintf('Plugin %s not found', $pluginName));
     }
     nbAutoload::getInstance()->addDirectory($this->plugins[$pluginName] . '/lib', '*.php', true);
     nbAutoload::getInstance()->addDirectory($this->plugins[$pluginName] . '/command', '*Command.php', true);
     nbAutoload::getInstance()->addDirectory($this->plugins[$pluginName] . '/vendor');
     self::$commandLoader->addCommandsFromDir($this->plugins[$pluginName] . '/command');
     if (is_dir($this->plugins[$pluginName] . '/test/unit')) {
         $testDirs = nbConfig::get('nb_plugin_test_dirs', array());
         $testDirs[] = $this->plugins[$pluginName] . '/test/unit';
         nbConfig::set('nb_plugin_test_dirs', array_unique($testDirs));
     }
     if (!file_exists($this->plugins[$pluginName] . '/config/config.yml')) {
         return true;
     }
     $yamlParser = new nbYamlConfigParser();
     $yamlParser->parseFile($this->plugins[$pluginName] . '/config/config.yml', '', true);
 }
Пример #2
0
Файл: unit.php Проект: nubee/bee
<?php

require_once dirname(__FILE__) . '/../../lib/core/autoload/nbAutoload.php';
$autoload = nbAutoload::getInstance();
$autoload->register();
$autoload->addDirectory('vendor/', '*.php', true);
$autoload->addDirectory('lib/', '*.php', true);
$autoload->addDirectory('test/lib/', '*.php', true);
// Configures bee variables
$configParser = new nbYamlConfigParser();
nbConfig::set('nb_bee_dir', dirname(__FILE__) . '/../..');
nbConfig::set('nb_config_dir', nbConfig::get('nb_bee_dir') . '/config');
nbConfig::set('nb_test_config_dir', dirname(__FILE__) . '/../config/');
$configParser->parseFile(nbConfig::get('nb_bee_dir') . '/.bee/config.yml', '', true);
$configParser->parseFile(nbConfig::get('nb_config_dir') . '/config.yml', '', true);
$configParser->parseFile(nbConfig::get('nb_test_config_dir') . '/config.yml', '', true);
$serviceContainer = new sfServiceContainerBuilder();
$serviceContainer->register('pluginLoader', 'nbPluginLoader')->addArgument(nbConfig::get('nb_plugins_dir'))->addArgument(new sfServiceReference('commandLoader'))->setShared(true);
$serviceContainer->register('commandLoader', 'nbCommandLoaderWithReset')->setShared(true);
$output = new nbConsoleOutput();
$logger = nbLogger::getInstance();
$logger->setOutput($output);
Пример #3
0
 /**
  * Unregister nbAutoload from spl autoloader.
  *
  * @return void
  */
 public static function unregister()
 {
     spl_autoload_unregister(array(self::getInstance(), 'autoload'));
     self::$registered = false;
 }