作者:gotcm
项目:gotcm
/**
* Creates and returns the module manager
*
* Instantiates the default module listeners, providing them configuration
* from the "module_listener_options" key of the ApplicationConfig
* service. Also sets the default config glob path.
*
* Module manager is instantiated and provided with an EventManager, to which
* the default listener aggregate is attached. The ModuleEvent is also created
* and attached to the module manager.
*
* @param ServiceLocatorInterface $serviceLocator Service Manager
*
* @return ModuleManager
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
$moduleCollection = new ModuleCollection();
$modules = $moduleCollection->getModules();
$array = array();
$autoloader = AutoloaderFactory::getRegisteredAutoloader(AutoloaderFactory::STANDARD_AUTOLOADER);
foreach ($modules as $module) {
$array[] = $module->getName();
$path = GC_APPLICATION_PATH . '/library/Modules/' . $module->getName();
if (file_exists($path) === false) {
$path = GC_APPLICATION_PATH . '/extensions/Modules/' . $module->getName();
}
$autoloader->registerNamespace($module->getName(), $path);
}
$autoloader->register();
$application = $serviceLocator->get('Application');
$configuration = $serviceLocator->get('ApplicationConfig');
$configuration['module_listener_options']['module_paths'] = array('./library/Modules', './extensions/Modules');
$listenerOptions = new Listener\ListenerOptions($configuration['module_listener_options']);
$defaultListeners = new Listener\DefaultListenerAggregate($listenerOptions);
$serviceListener = new Listener\ServiceListener($serviceLocator);
$this->prepareServices($serviceListener, $serviceLocator);
$moduleManager = new ModuleManager($array, $application->getEventManager());
$moduleManager->getEventManager()->attachAggregate($defaultListeners);
$moduleManager->getEventManager()->attachAggregate($serviceListener);
$moduleManager->loadModules();
$config = $moduleManager->getEvent()->getConfigListener()->getMergedConfig(false);
$this->prepareConfig($serviceLocator, $config);
foreach ($moduleManager->getLoadedModules() as $module) {
if (method_exists($module, 'onBootstrap')) {
$module->onBootstrap($application->getMvcEvent());
}
}
return $moduleManager;
}
作者:antaru
项目:mystra-pv
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (file_exists($vendorPath . '/autoload.php')) {
$loader = (include $vendorPath . '/autoload.php');
}
if (class_exists('Zend\\Loader\\AutoloaderFactory')) {
return;
}
$zf2Path = false;
if (getenv('ZF2_PATH')) {
// Support for ZF2_PATH environment variable
$zf2Path = getenv('ZF2_PATH');
} elseif (get_cfg_var('zf2_path')) {
// Support for zf2_path directive value
$zf2Path = get_cfg_var('zf2_path');
}
if ($zf2Path) {
if (isset($loader)) {
$loader->add('Zend', $zf2Path);
$loader->add('ZendXml', $zf2Path);
} else {
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true)));
}
}
}
作者:bvaren
项目:doc-block-tag
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
// Include composer autoloader
// TODO Make a Zend PSR-4 autoloader?
include $vendorPath . '/autoload.php';
// Locate ZF2 path.
$zf2Path = getenv('ZF2_PATH');
if (!$zf2Path) {
if (defined('ZF2_PATH')) {
$zf2Path = ZF2_PATH;
} elseif (is_dir($vendorPath . '/ZF2/library')) {
$zf2Path = $vendorPath . '/ZF2/library';
} elseif (is_dir($vendorPath . '/zendframework/zendframework/library')) {
$zf2Path = $vendorPath . '/zendframework/zendframework/library';
}
}
if (!$zf2Path) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.');
}
// Set up ZF2 autoloader to find itself and the test classes.
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
$autoloadOptions = array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => array(__NAMESPACE__ => __DIR__)));
AutoloaderFactory::factory($autoloadOptions);
}
作者:athemcm
项目:neti
/**
* @throws \Exception
*/
protected static function autoload()
{
if (file_exists('vendor/autoload.php')) {
$loader = (require 'vendor/autoload.php');
}
// the entire application is based on Composer loader, but just in case
// let's instantiate the loader if I can't find Composer's ClassLoader
if (empty($loader)) {
switch (true) {
case file_exists('vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php'):
require_once 'vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php';
\Zend\Loader\AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'fallback_autoloader' => true)));
require_once 'vendor/zendframework/zendframework/library/Zend/Loader/StandardAutoloader.php';
$loader = \Zend\Loader\AutoloaderFactory::getRegisteredAutoloader('Zend\\Loader\\StandardAutoloader');
break;
// @TODO: case file_exists('path/to/Symfony/Loader.php') / Implement when you'll need it
// @TODO: case file_exists('path/to/Symfony/Loader.php') / Implement when you'll need it
default:
throw new \Exception('Could not find neither Zend nor Composer or Symfony libraries for creating a class loader!');
}
}
// register Netis only. The real class loader will be instantiated inside the Application classes
switch (true) {
case $loader instanceof \Zend\Loader\SplAutoloader:
$loader->registerPrefix('Netis', 'vendor/athemcms/Netis/library/Netis');
break;
case $loader instanceof \Composer\Autoload\ClassLoader:
$loader->add('Netis', 'vendor/athemcms/netis/library');
break;
// @TODO: Implement Symfony when you'll need it as well :D
// @TODO: Implement Symfony when you'll need it as well :D
default:
throw new \Exception('No Loader detected!');
}
}
作者:andreas-serl
项目:athene
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
$zf2Path = getenv('ZF2_PATH');
if (!$zf2Path) {
if (defined('ZF2_PATH')) {
$zf2Path = ZF2_PATH;
} elseif (is_dir($vendorPath . '/ZF2/library')) {
$zf2Path = $vendorPath . '/ZF2/library';
} elseif (is_dir($vendorPath . '/zendframework/zendframework/library')) {
$zf2Path = $vendorPath . '/zendframework/zendframework/library';
}
}
if (!$zf2Path) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or' . ' define a ZF2_PATH environment variable.');
}
if (file_exists($vendorPath . '/autoload.php')) {
include $vendorPath . '/autoload.php';
}
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
$namespaces = array(__NAMESPACE__ => __DIR__);
$modulePath = self::findParentPath('module');
if ($handle = opendir(static::findParentPath('src/module'))) {
while (false !== ($file = readdir($handle))) {
if (substr($file, 0, 1) != '.') {
$namespaces[$file] = $modulePath . '/' . $file . '/src/' . $file;
$namespaces[$file . 'Test'] = $modulePath . '/' . $file . '/test/' . $file . 'Test';
}
}
closedir($handle);
}
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => $namespaces)));
}
作者:jbarentse
项目:dr
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (is_readable($vendorPath . '/autoload.php')) {
$loader = include $vendorPath . '/autoload.php';
return;
}
$zf2Path = getenv('ZF2_PATH') ?: (defined('ZF2_PATH') ? ZF2_PATH : (is_dir($vendorPath . '/ZF2/library') ? $vendorPath . '/ZF2/library' : false));
if (!$zf2Path) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.');
}
if (isset($loader)) {
$loader->add('Zend', $zf2Path . '/Zend');
} else {
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
AutoloaderFactory::factory(array(
'Zend\Loader\StandardAutoloader' => array(
'autoregister_zf' => true,
'namespaces' => array(
'ZF\Configuration' => __DIR__ . '/../src/',
__NAMESPACE__ => __DIR__,
),
),
));
}
}
作者:uthando-cm
项目:uthando-new
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (file_exists($vendorPath . '/autoload.php')) {
include $vendorPath . '/autoload.php';
}
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => array(__NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__))));
}
作者:htam26
项目:zendskeleto
public function index7Action()
{
\Zend\Loader\AutoloaderFactory::factory(array('Zend\\Loader\\ClassMapAutoloader' => array(LIBRARY_PATH . '/../../../Autoloader/Autoloader.php', LIBRARY_PATH . '/../../../Autoloader/classmap.php')));
$student = new \Database\Student();
$teacher = new \Database\Teacher();
$worker = new \Database\Oracle\Worker();
$upload = new \File\Abc\Upload();
return false;
}
作者:saeve
项目:phpspec-zf
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (file_exists($vendorPath . '/autoload.php')) {
include $vendorPath . '/autoload.php';
}
include $vendorPath . '/zendframework/zend-loader/src/AutoloaderFactory.php';
AutoloaderFactory::factory(['Zend\\Loader\\StandardAutoloader' => ['autoregister_zf' => true, 'namespaces' => [__NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__]]]);
}
作者:rikai
项目:zf
/**
* @param \Zend\Module\ModuleEvent $e
* @return void
*/
public function __invoke(ModuleEvent $e)
{
$module = $e->getModule();
if (!$module instanceof AutoloaderProvider) {
return;
}
$autoloaderConfig = $module->getAutoloaderConfig();
AutoloaderFactory::factory($autoloaderConfig);
}
作者:Baf
项目:Zend-For
/**
* @param ModuleEvent $e
* @return void
*/
public function __invoke(ModuleEvent $e)
{
$module = $e->getModule();
if (!$module instanceof AutoloaderProviderInterface && !method_exists($module, 'getAutoloaderConfig')) {
return;
}
$autoloaderConfig = $module->getAutoloaderConfig();
AutoloaderFactory::factory($autoloaderConfig);
}
作者:buse97
项目:addres
protected static function initAutoloader()
{
\Zend\Loader\AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true)));
$smConfig = new ServiceManagerConfig([]);
$serviceManager = new ServiceManager();
$smConfig->configureServiceManager($serviceManager);
$serviceManager->setService('ApplicationConfig', include __DIR__ . '/config/application.config.php');
$serviceManager->get('ModuleManager')->loadModules();
static::$serviceManager = $serviceManager;
}
作者:lelouligh
项目:Cornerston
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (is_readable($vendorPath . '/autoload.php')) {
$loader = (include $vendorPath . '/autoload.php');
} else {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install`.');
}
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => array(__NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__))));
}
作者:BulgariaPH
项目:zf-action-injection
public static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (file_exists($vendorPath . '/autoload.php')) {
include $vendorPath . '/autoload.php';
}
if (!class_exists('Zend\\Loader\\AutoloaderFactory')) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install`');
}
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => array('ActionInjections' => self::findParentPath('src') . '/ActionInjections'))));
}
作者:rzorza
项目:MyZend2Skeleto
public static function execute()
{
include 'init_autoloader.php';
define('ZF2_PATH', realpath('vendor/zendframework/zendframework/library'));
$path = array(ZF2_PATH, get_include_path());
set_include_path(implode(PATH_SEPARATOR, $path));
require_once 'Zend/Loader/AutoloaderFactory.php';
require_once 'Zend/Loader/StandardAutoloader.php';
// setup autoloader
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array(StandardAutoloader::AUTOREGISTER_ZF => true, StandardAutoloader::ACT_AS_FALLBACK => false, StandardAutoloader::LOAD_NS => array('Admin\\Infra' => getcwd() . '/module/Admin/src/Admin/Infra', 'Admin\\Domain' => getcwd() . '/module/Admin/src/Admin/Domain'))));
}
作者:trongl
项目:zend-
public function index06Action()
{
echo "<h3 style='color:red;font-weight:bold'>" . __METHOD__ . "</h3>";
\Zend\Loader\AutoloaderFactory::factory(array("\\Zend\\Loader\\ClassMapAutoloader" => array(LIB_PATH . "/ClassMap/AutoLoader.php", LIB_PATH . "/AutoLoader2.php")));
$student = new \Database\Student();
$teacher = new \Database\Teacher();
$people = new \Database\basetada\People();
$sontung_m = new \Art\Singer();
$sender = new \Mail_Sender();
return false;
}
作者:grizzm
项目:zf2-for-
protected function registerZf2Autoloader()
{
$options = $this->getOptions();
if (!empty($options['zf2_path'])) {
include_once $options['zf2_path'] . '/Zend/Loader/AutoloaderFactory.php';
}
if (!class_exists('Zend\\Loader\\AutoloaderFactory', true)) {
throw new DomainException('Option "zf2Path" was not provided');
}
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true)));
}
作者:shitikovkiril
项目:LearnZF
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
if (file_exists($vendorPath . '/autoload.php')) {
include $vendorPath . '/autoload.php';
}
if (!class_exists('Zend\\Loader\\AutoloaderFactory')) {
throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install`');
}
AutoloaderFactory::factory(['Zend\\Loader\\StandardAutoloader' => ['autoregister_zf' => true, 'namespaces' => [__NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__]]]);
}
作者:cephero
项目:zf2-doctrin
public static function execute()
{
chdir(dirname(__DIR__ . '/../../../..'));
include 'init_autoloader.php';
define('ZF2_PATH', realpath('vendor/zendframework/zendframework/library'));
$path = array(ZF2_PATH, get_include_path());
set_include_path(implode(PATH_SEPARATOR, $path));
require_once 'Zend/Loader/AutoloaderFactory.php';
require_once 'Zend/Loader/StandardAutoloader.php';
// setup autoloader
AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array(StandardAutoloader::AUTOREGISTER_ZF => true, StandardAutoloader::ACT_AS_FALLBACK => false, StandardAutoloader::LOAD_NS => array('Core' => __DIR__ . '/../../../module/Core/src/Core'))));
}
作者:buse97
项目:da
protected static function initAutoloader()
{
$vendorPath = static::findParentPath('vendor');
$loader = (include $vendorPath . '/autoload.php');
\Zend\Loader\AutoloaderFactory::factory(array('Zend\\Loader\\StandardAutoloader' => array('autoregister_zf' => true, 'namespaces' => array('Mock' => __DIR__ . '/Mock'))));
$smConfig = new ServiceManagerConfig([]);
$serviceManager = new ServiceManager();
$smConfig->configureServiceManager($serviceManager);
$serviceManager->setService('ApplicationConfig', include __DIR__ . '/config/application.config.php');
$serviceManager->get('ModuleManager')->loadModules();
static::$serviceManager = $serviceManager;
}