本文整理汇总了PHP中Phalcon\Loader::registerNamespaces方法的典型用法代码示例。如果您正苦于以下问题:PHP Loader::registerNamespaces方法的具体用法?PHP Loader::registerNamespaces怎么用?PHP Loader::registerNamespaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phalcon\Loader
的用法示例。
在下文中一共展示了Loader::registerNamespaces方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: autoloadClass
/**
* If the class isn't already loaded, and an autoloader hasn't been set up
* for the class (i.e. class not loaded), we will set up our own autoloader
* for all namespaces and dirs registered and attempt to load the class
*
* @param $className
* @throws Exception
*/
protected function autoloadClass($className)
{
// has the class be loaded?
if (class_exists($className)) {
return;
}
if (!$this->ourLoader) {
$this->ourLoader = new Loader();
$ourLoaderNamespaces = array();
$ourLoaderDirs = array();
foreach ($this->namespaces as $ns) {
if ($ns['ns']) {
$ourLoaderNamespaces[$ns['ns']] = $ns['dir'];
} else {
$ourLoaderDirs[] = $ns['dir'];
}
}
$this->ourLoader->registerNamespaces($ourLoaderNamespaces);
$this->ourLoader->registerDirs($ourLoaderDirs);
}
$loaded = $this->ourLoader->autoLoad($className);
if (!$loaded) {
throw new \Exception('Unable to load autoload class ' . $className);
}
}
示例2: setUp
public function setUp()
{
parent::setUp();
$this->loader = $this->di->getLoader();
$strModule = 'App\\Modules\\Api';
$strModuleDir = $this->di->getConfig()->application->modulesDir . DIRECTORY_SEPARATOR . 'api';
$this->loader->registerNamespaces(array($strModule => $strModuleDir), true);
$this->module = new Module();
}
示例3: registerAutoloaders
/**
* Register the autoloader specific to the current module
* @access public
* @return \Phalcon\Loader\Loader()
*/
public function registerAutoloaders()
{
$loader = new Loader();
$loader->registerNamespaces(['Modules\\Backend\\Controllers' => $this->_config['application']['controllersBack'], 'Modules\\Backend\\Forms' => $this->_config['application']['formsBack'], 'Models' => $this->_config['application']['modelsDir'], 'Helpers' => $this->_config['application']['helpersDir'], 'Libraries' => $this->_config['application']['libraryDir'], 'Plugins' => $this->_config['application']['pluginsDir']]);
$loader->register();
if (APPLICATION_ENV == 'development') {
$namespaces = array_merge($loader->getNamespaces(), ['Phalcon\\Utils' => APP_PATH . '/Libraries/PrettyExceptions/Library/Phalcon/Utils']);
$loader->registerNamespaces($namespaces);
// call pretty loader
set_error_handler(function ($errorCode, $errorMessage, $errorFile, $errorLine) {
$p = new \Phalcon\Utils\PrettyExceptions();
$p->handleError($errorCode, $errorMessage, $errorFile, $errorLine);
});
}
}
示例4: setDi
function setDi()
{
$di = new FactoryDefault();
$di['router'] = function () use($di) {
$router = new Router();
$router->setDefaultModule('mobimall');
return $router;
};
$di['url'] = function () {
$url = new UrlResolver();
$url->setBaseUri('/');
return $url;
};
$di['session'] = function () {
$session = new SessionAdapter();
// $session->start();
return $session;
};
$loader = new Loader();
$loader->registerNamespaces(array('Mall\\Mdu' => __DIR__ . '/../apps/mdu'));
$sysConfig = (include __DIR__ . '/../config/sysconfig.php');
$di['sysconfig'] = function () use($sysConfig) {
return $sysConfig;
};
$loader->register();
return $di;
}
示例5: _initLoader
/**
* Init loader.
*
* @param DI $di Dependency Injection.
* @param Config $config Config object.
* @param EventsManager $eventsManager Event manager.
*
* @return Loader
*/
protected function _initLoader($di, $config, $eventsManager)
{
/**
* Add all required namespaces and modules from registry.
* @var [type]
*/
$registry = $di->get('registry');
$namespaces = [];
$bootstraps = [];
foreach ($registry->modules as $module) {
$moduleName = ucfirst($module);
$namespaces[$moduleName] = $registry->directories->modules . $moduleName;
$bootstraps[$module] = $moduleName . '\\Bootstrap';
}
$namespaces['Engine'] = $registry->directories->engine;
$loader = new PhLoader();
$loader->registerNamespaces($namespaces);
// Register some directories
$loader->registerDirs([ROOT_PATH . '/app/libraries']);
$loader->setEventsManager($eventsManager);
$loader->register();
$this->registerModules($bootstraps);
$di->set('loader', $loader);
return $loader;
}
示例6: registerAutoloaders
public function registerAutoloaders()
{
$loader = new Loader();
$loader->registerNamespaces(['Admin\\Controllers' => ADMINROOT . '/controllers/', 'Admin\\Fields' => ADMINROOT . '/fields/'], true);
$loader->registerClasses(['AutoAdmin\\Module' => ADMINROOT . '/../autoadmin/module.php'], true);
$loader->register();
}
示例7: registerNamespace
private function registerNamespace()
{
$loader = new Loader();
$this->namespace = array_merge($this->namespace, ['Common\\Util' => './module/common/util/', 'Common\\Services' => './module/common/services/']);
$loader->registerNamespaces($this->namespace);
$loader->register();
}
示例8: registerAutoloaders
public function registerAutoloaders(DiInterface $di = null)
{
$l = new Loader();
$dir = __DIR__;
$l->registerNamespaces([self::$ctrlnamespace => __DIR__ . '/']);
$l->register();
}
示例9: registerAutoloaders
/**
* Register a specific autoloader for the module
*/
public function registerAutoloaders(DiInterface $di = NULL)
{
$loader = new Loader();
$loader->registerNamespaces(array('Ecommerce\\Admin\\Controllers' => '../apps/admin/controllers/', 'Ecommerce\\Admin\\Models' => '../apps/admin/models/', 'Ecommerce\\Admin\\Forms' => '../apps/admin/forms/', 'Ecommerce\\Admin\\Helpers' => '../apps/admin/helpers/', 'Ecommerce\\Loja\\Helpers' => '../apps/loja/helpers/'));
require '../apps/loja/vendor/autoload.php';
$loader->register();
}
示例10: registerAutoloaders
/**
* Registers an autoloader related to the module
*
* @param DiInterface $di
*/
public function registerAutoloaders(DiInterface $di = null)
{
$config = $this->config;
$debug = $this->debug;
$namespace = substr(get_class($this), 0, strripos(get_class($this), '\\'));
$baseDir = $this::DIR . '/';
$regs = [$namespace => $baseDir];
$loader = new Loader();
// 配置中的名字空间设置
$namespaceConfig = $config->offsetExists('namespaces') ? $config->namespaces->toArray() : [];
foreach ($namespaceConfig as $n => $d) {
$regs[$n] = $d;
}
// 检查 controllers 和 models是否存在
$moduleControllers = $namespace . '\\Controllers';
$moduleModels = $namespace . '\\Models';
if (!isset($regs[$moduleControllers])) {
$regs[$moduleControllers] = $baseDir . 'controllers/';
}
if (!isset($regs[$moduleModels])) {
$regs[$moduleModels] = $baseDir . 'models/';
}
$loader->registerNamespaces($regs);
$loader->register();
}
示例11: register
/**
* Auto register namespace and class map
* @throws Exception\RuntimeException
* @todo Should cache register classmap
*/
public function register()
{
$moduleHandler = $this->diFactory->get('moduleHandler');
$autoloadConf = $moduleHandler->getModulesAutoloadConfig();
if (isset($autoloadConf['namespaces'])) {
if (!ArrayUtils::isHashTable($autoloadConf['namespaces'])) {
throw new Exception\RuntimeException('Config autoload for namespace is invalid');
}
$this->loader->registerNamespaces($autoloadConf['namespaces']);
}
if (isset($autoloadConf['classmap'])) {
$this->registerClassMap($autoloadConf['classmap']);
}
$this->loader->register();
return $this;
}
示例12: registerAutoloaders
/**
* Registers the module auto-loader
*/
public function registerAutoloaders()
{
$config = (include __DIR__ . "/../../config/constants.php");
$loader = new Loader();
$loader->registerNamespaces(array('App\\Modules\\Frontend\\Controllers' => __DIR__ . '/controllers/', 'App\\Models\\Entities' => $config->application->modelsEntitiesDir, 'App\\Models\\Services' => $config->application->modelsServicesDir, 'App\\Models\\Repositories' => $config->application->modelsRepositoriesDir));
$loader->register();
}
示例13: registerAutoloaders
/**
* Registers the module auto-loader
*/
public function registerAutoloaders(\Phalcon\DiInterface $di = null)
{
$loader = new Loader();
$loader->registerNamespaces(array('HaiQuan\\Frontend\\Controllers' => __DIR__ . '/controllers/', 'HaiQuan\\Backend\\Models' => __DIR__ . '../../backend/models/', 'library' => __DIR__ . '/../../library/', 'Facebook' => __DIR__ . '/../../library/Facebook', 'Minigame' => __DIR__ . '/../../library/Minigame', 'datacenter' => __DIR__ . '/../../datacenter/', 'payment' => __DIR__ . '/../../payment/', 'event' => __DIR__ . '/../../library/Event/'));
$loader->registerClasses(array("Google_Client" => __DIR__ . '/../../library/Google/src/Google/Client.php'));
$loader->register();
}
示例14: registerServices
/**
* Register the services here to make them general or register in the ModuleDefinition to make them module-specific
*/
public function registerServices()
{
$di = new FactoryDefault();
$loader = new Loader();
$namespaces = [];
$map = (require_once __DIR__ . '/../autoload_namespaces.php');
foreach ($map as $k => $values) {
$k = trim($k, '\\');
if (!isset($namespaces[$k])) {
$dir = '/' . str_replace('\\', '/', $k) . '/';
$namespaces[$k] = implode($dir . ';', $values) . $dir;
}
}
$loader->registerNamespaces($namespaces);
$loader->register();
/**
* Register a router
*/
$di->set('router', function () {
$router = new Router();
$router->setDefaultModule('frontend');
//set frontend routes
$router->mount(new FrontendRoutes());
//
return $router;
});
$this->setDI($di);
}
示例15: registerAutoloaders
public function registerAutoloaders()
{
// echo __DIR__;exit;
$loader = new Loader();
$loader->registerNamespaces(array('Modules\\Frontend\\Controllers' => __DIR__ . '/controllers/', 'Modules\\Frontend\\Models' => __DIR__ . '/models/', 'Modules\\Backend\\Controllers' => __DIR__ . '/../backend/controllers/'));
$loader->register();
}