本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
};
}
示例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;
}
示例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;
}