public function load() { $loadedClasses = $this->_pluginLoader->loadAll(); foreach ($loadedClasses as $className) { $reflector = new ReflectionClass($className); if ($reflector->isInstantiable() && $reflector->isSubclassOf('Zend_Tool_Provider_Abstract')) { $this->addProvider($reflector->newInstance()); continue; } if ($reflector->isInstantiable() && ($reflector->getName() == 'Zend_Tool_Provider_Action' || $reflector->isSubclassOf('Zend_Tool_Provider_Action'))) { $this->addAction($reflector->newInstance()); continue; } } return $this; }
/** * _loadContexts() - statically find and load the context files * */ protected static function _loadContexts() { $pluginLoader = new Zend_Loader_PluginLoader(array('Zend_Tool_Provider_ZfProject_ProjectContext_' => dirname(__FILE__) . '/ProjectContext/')); $classes = $pluginLoader->loadAll(); foreach ($classes as $class) { $reflectionClass = new ReflectionClass($class); if ($reflectionClass->isInstantiable() && $reflectionClass->isSubclassOf('Zend_Tool_Provider_ZfProject_ProjectContext_ProjectContextAbstract')) { $context = $reflectionClass->newInstance(); self::$_contexts[$context->getContextName()] = $context; } } }