当前位置: 首页>>代码示例>>PHP>>正文


PHP Environment::setContext方法代码示例

本文整理汇总了PHP中Nette\Environment::setContext方法的典型用法代码示例。如果您正苦于以下问题:PHP Environment::setContext方法的具体用法?PHP Environment::setContext怎么用?PHP Environment::setContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Nette\Environment的用法示例。


在下文中一共展示了Environment::setContext方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: createContainer

 /**
  * Returns system DI container.
  * @return \SystemContainer
  */
 public function createContainer()
 {
     if ($cacheDir = $this->getCacheDirectory()) {
         $cache = new Cache(new Nette\Caching\Storages\PhpFileStorage($cacheDir), 'Nette.Configurator');
         $cacheKey = array($this->parameters, $this->files);
         $cached = $cache->load($cacheKey);
         if (!$cached) {
             $code = $this->buildContainer($dependencies);
             $cache->save($cacheKey, $code, array(Cache::FILES => $dependencies));
             $cached = $cache->load($cacheKey);
         }
         Nette\Utils\LimitedScope::load($cached['file'], TRUE);
     } elseif ($this->files) {
         throw new Nette\InvalidStateException("Set path to temporary directory using setTempDirectory().");
     } else {
         Nette\Utils\LimitedScope::evaluate($this->buildContainer());
         // back compatibility with Environment
     }
     $container = new $this->parameters['container']['class']();
     $container->initialize();
     Nette\Environment::setContext($container);
     // back compatibility
     return $container;
 }
开发者ID:vrtak-cz,项目名称:nette-doctrine-sandbox,代码行数:28,代码来源:Configurator.php

示例2: createContainer

 /**
  * Returns system DI container.
  * @return \SystemContainer
  */
 public function createContainer()
 {
     $container = $this->createContainerFactory()->create();
     $container->initialize();
     if (class_exists('Nette\\Environment')) {
         Nette\Environment::setContext($container);
         // back compatibility
     }
     return $container;
 }
开发者ID:prcharom,项目名称:w-pps-reality,代码行数:14,代码来源:Configurator.php

示例3: createContainer

 /**
  * Returns system DI container.
  * @return \SystemContainer|DI\Container
  */
 public function createContainer()
 {
     $cache = new Nette\Caching\Cache(new Nette\Caching\Storages\PhpFileStorage($this->getCacheDirectory()), 'Nette.Configurator');
     $cacheKey = array($this->parameters, $this->files);
     $cached = $cache->load($cacheKey);
     if (!$cached) {
         $code = $this->buildContainer($dependencies);
         $cache->save($cacheKey, $code, array($cache::FILES => $dependencies));
         $cached = $cache->load($cacheKey);
     }
     require_once $cached['file'];
     $container = new $this->parameters['container']['class']();
     $container->initialize();
     Nette\Environment::setContext($container);
     // back compatibility
     return $container;
 }
开发者ID:pdostal,项目名称:nette-blog,代码行数:21,代码来源:Configurator.php

示例4: createContainer

 /**
  * Returns system DI container.
  * @return DI\Container
  */
 public function createContainer()
 {
     $loader = new DI\ContainerLoader($this->getCacheDirectory() . '/Nette.Configurator', $this->parameters['debugMode']);
     $class = $loader->load([$this->parameters, $this->files], [$this, 'generateContainer']);
     $container = new $class();
     foreach ($this->services as $name => $service) {
         $container->addService($name, $service);
     }
     $container->initialize();
     if (class_exists('Nette\\Environment')) {
         Nette\Environment::setContext($container);
         // back compatibility
     }
     return $container;
 }
开发者ID:pt24,项目名称:bootstrap,代码行数:19,代码来源:Configurator.php

示例5: __construct

	/**
	 * @param string
	 */
	public function __construct($containerClass = 'Nette\DI\Container')
	{
		parent::__construct($containerClass);

		$container = $this->getContainer();

		// Back compatability
		Environment::setConfigurator($this);
		Environment::setContext($container);

		// Nella X-Powered
		@header("X-Powered-By: Nette Framework with Nella"); // @ - headers may have been sent

		// Upload dir (tmp files - Mupltiple File Uploader)
		if (isset($container->params['tempDir'])) {
			$container->params['uploadDir'] = $container->expand("%tempDir%/uploads");
		}

		// File storage dirs (upoaded images and other files)
		if (defined('STORAGE_DIR')) {
			$container->params['storageDir'] = realpath(STORAGE_DIR);
		} else {
			$container->params['storageDir'] = $container->expand("%appDir%/storage");
		}

		// Image cache dir (public folteder for images thumbnails and other formats)
		if (defined('IMAGE_CACHE_DIR')) {
			$container->params['imageCacheDir'] = realpath(IMAGE_CACHE_DIR);
		} else {
			$container->params['imageCacheDir'] = $container->expand("%wwwDir%/images");
		}

		// Namespace prefixes
		$container->params['namespaces'] = array(0 => 'App', 9 => 'Nella');
		// Templates dirs (application parts dirs)
		$container->params['templates'] = array(0 => $container->params['appDir'], 9 => NELLA_FRAMEWORK_DIR);
		// Flash message types
		$container->params['flashes'] = array(
			'success' => "success",
			'error' => "error",
			'info' => "info",
			'warning' => "warning",
		);

		// Set file upload temp dir
		ini_set('upload_tmp_dir', $container->params['uploadDir']);
		// Set session dir
		ini_set('session.save_path', $container->expand("%tempDir%/sessions"));

		// Init multilple file upload listener
		Forms\Controls\MultipleFileUpload::register(
			$container->httpRequest,
			$container->params['uploadDir']
		);

		$this->onAfterLoadConfig[] = function(Container $container) {
			// Load panels
			if (!$container->params['consoleMode'] && !$container->params['productionMode']) {
				$container->callbackPanel;
				$container->versionPanel;
				$container->translatorPanel;
				$container->debugPanel;
				$container->userPanel;
			}
		};
	}
开发者ID:norbe,项目名称:framework,代码行数:69,代码来源:Configurator.php

示例6: createContainer

 /**
  * Returns system DI container.
  * @return DI\Container
  */
 public function createContainer()
 {
     $class = $this->loadContainer();
     $container = new $class();
     foreach ($this->services as $name => $service) {
         $container->addService($name, $service);
     }
     $container->initialize();
     if (class_exists(Nette\Environment::class)) {
         Nette\Environment::setContext($container);
         // back compatibility
     }
     return $container;
 }
开发者ID:nette,项目名称:bootstrap,代码行数:18,代码来源:Configurator.php

示例7: createContainer

 /**
  * Returns system DI container.
  * @return \SystemContainer
  */
 public function createContainer()
 {
     $container = $this->createContainerFactory()->create();
     $container->initialize();
     Nette\Environment::setContext($container);
     // back compatibility
     return $container;
 }
开发者ID:hrach,项目名称:nette,代码行数:12,代码来源:Configurator.php


注:本文中的Nette\Environment::setContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。