expand() public method

Expands %placeholders% in strings.
Deprecation:
public expand ( $value ) : mixed
return mixed
Exemplo n.º 1
0
 private function setupCache(ContainerBuilder $container)
 {
     $container->addDefinition($this->prefix('cacheJournal'))->setClass('Nette\\Caching\\Storages\\FileJournal', array($container->expand('%tempDir%')));
     $container->addDefinition('cacheStorage')->setClass('Nette\\Caching\\Storages\\FileStorage', array($container->expand('%tempDir%/cache')));
     $container->addDefinition($this->prefix('templateCacheStorage'))->setClass('Nette\\Caching\\Storages\\PhpFileStorage', array($container->expand('%tempDir%/cache')))->setAutowired(FALSE);
     $container->addDefinition($this->prefix('cache'))->setClass('Nette\\Caching\\Cache', array(1 => $container::literal('$namespace')))->addSetup('::trigger_error', array('Service cache is deprecated.', E_USER_DEPRECATED))->setParameters(array('namespace' => NULL));
 }
Exemplo n.º 2
0
 /**
  * @param \Nette\DI\ContainerBuilder $container
  * @param array $config
  */
 private function setupTemplating(ContainerBuilder $container, array $config)
 {
     $def = $container->addDefinition($this->prefix('templateFilesFormatter'))->setClass('Lohini\\Templating\\TemplateFilesFormatter')->addSetup('$skin', [$config['skin']]);
     foreach ($config['dirs'] as $dir => $priority) {
         $def->addSetup('addDir', Validators::isNumericInt($dir) ? [$priority] : [$container->expand($dir), $priority]);
     }
 }
Exemplo n.º 3
0
 public function processExtensions()
 {
     for ($i = 0; $slice = array_slice($this->extensions, $i, 1, TRUE); $i++) {
         $name = key($slice);
         if (isset($this->config[$name])) {
             $this->config[$name] = $this->builder->expand($this->config[$name]);
         }
         $this->extensions[$name]->loadConfiguration();
     }
     if ($extra = array_diff_key($this->config, self::$reserved, $this->extensions)) {
         $extra = implode("', '", array_keys($extra));
         throw new Nette\InvalidStateException("Found sections '{$extra}' in configuration, but corresponding extensions are missing.");
     }
 }
Exemplo n.º 4
0
 public function setupSystemApplication(ContainerBuilder $container, array $config)
 {
     $container->addDefinition($this->prefix('system.application.mailerFormFactory'))->setClass('Venne\\System\\AdminModule\\MailerFormFactory', array(new Statement('@system.admin.configFormFactory', array($container->expand('%configDir%/config.neon'), ''))));
     $container->addDefinition($this->prefix('system.application.systemFormFactory'))->setClass('Venne\\System\\AdminModule\\AdministrationFormFactory', array(new Statement('@system.admin.configFormFactory', array($container->expand('%configDir%/config.neon'), 'system.administration'))));
     $container->addDefinition($this->prefix('system.application.applicationFormFactory'))->setClass('Venne\\System\\AdminModule\\ApplicationFormFactory', array(new Statement('@system.admin.configFormFactory', array($container->expand('%configDir%/config.neon'), ''))));
     $container->addDefinition($this->prefix('system.applicationPresenter'))->setClass('Venne\\System\\AdminModule\\ApplicationPresenter')->addTag(static::TAG_ADMINISTRATION, array('link' => 'Admin:System:Application:', 'category' => 'System', 'name' => 'System settings', 'description' => 'Set up database, environment,...', 'priority' => 15));
 }
Exemplo n.º 5
0
 private function setupLatte(ContainerBuilder $container, array $config)
 {
     $this->validate($config, $this->defaults['latte'], 'nette.latte');
     $latteFactory = $container->addDefinition($this->prefix('latteFactory'))->setClass('Latte\\Engine')->addSetup('setTempDirectory', array($container->expand('%tempDir%/cache/latte')))->addSetup('setAutoRefresh', array($container->parameters['debugMode']))->addSetup('setContentType', array($config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML))->setImplement('Nette\\Bridges\\ApplicationLatte\\ILatteFactory');
     $container->addDefinition($this->prefix('templateFactory'))->setClass('Nette\\Bridges\\ApplicationLatte\\TemplateFactory');
     $latte = $container->addDefinition($this->prefix('latte'))->setClass('Latte\\Engine')->addSetup('setTempDirectory', array($container->expand('%tempDir%/cache/latte')))->addSetup('setAutoRefresh', array($container->parameters['debugMode']))->addSetup('setContentType', array($config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML))->setAutowired(FALSE);
     foreach ($config['macros'] as $macro) {
         if (strpos($macro, '::') === FALSE && class_exists($macro)) {
             $macro .= '::install';
         } else {
             Validators::assert($macro, 'callable');
         }
         $latte->addSetup('?->onCompile[] = function($engine) { ' . $macro . '($engine->getCompiler()); }', array('@self'));
         $latteFactory->addSetup('?->onCompile[] = function($engine) { ' . $macro . '($engine->getCompiler()); }', array('@self'));
     }
     if (class_exists('Nette\\Templating\\FileTemplate')) {
         $container->addDefinition($this->prefix('template'))->setClass('Nette\\Templating\\FileTemplate')->addSetup('registerFilter', array(new Nette\DI\Statement(array($latteFactory, 'create'))))->addSetup('registerHelperLoader', array('Nette\\Templating\\Helpers::loader'))->setAutowired(FALSE);
     }
 }
Exemplo n.º 6
0
 /**
  * @param \Nette\DI\ContainerBuilder $builder
  */
 private function autowireEvents(Nette\DI\ContainerBuilder $builder)
 {
     foreach ($builder->getDefinitions() as $def) {
         /** @var Nette\DI\ServiceDefinition $def */
         if ($this->isAlias($def)) {
             continue;
             // alias
         }
         if (!class_exists($class = $builder->expand($def->class))) {
             if (!$def->factory) {
                 continue;
             } elseif (is_array($class = $builder->expand($def->factory->entity))) {
                 continue;
             } elseif (!class_exists($class)) {
                 continue;
             }
         }
         if ($def->getImplementType() === 'get') {
             continue;
         }
         $this->bindEventProperties($def, Nette\Reflection\ClassType::from($class));
     }
 }
Exemplo n.º 7
0
 /**
  * @param \Nette\DI\ContainerBuilder $builder
  */
 private function autowireEvents(Nette\DI\ContainerBuilder $builder)
 {
     $newApi = defined('Nette\\DI\\ServiceDefinition::IMPLEMENT_MODE_GET');
     //new in Nette 2.4
     foreach ($builder->getDefinitions() as $def) {
         /** @var Nette\DI\ServiceDefinition $def */
         if ($this->isAlias($def)) {
             continue;
             // alias
         }
         if (!class_exists($class = $builder->expand($def->getClass()))) {
             if (!$def->getFactory()) {
                 continue;
             } elseif (is_array($class = $builder->expand($def->getEntity()))) {
                 continue;
             } elseif (!class_exists($class)) {
                 continue;
             }
         }
         if ($newApi ? $def->getImplementMode() === $def::IMPLEMENT_MODE_GET : $def->getImplementType() === 'get') {
             continue;
         }
         $this->bindEventProperties($def, Nette\Reflection\ClassType::from($class));
     }
 }
Exemplo n.º 8
0
 private function doSerializeValueResolve(ContainerBuilder $builder, $expression)
 {
     if ($expression instanceof Code\PhpLiteral) {
         $expression = self::resolveExpression($expression);
     } elseif (substr($expression, 0, 1) === '%') {
         $expression = $builder->expand($expression);
     } elseif (substr($expression, 0, 1) === '$') {
         $expression = new Code\PhpLiteral($expression);
     } else {
         if (!($m = self::shiftAccessPath($expression))) {
             return $expression;
             // it's probably some kind of expression
         } else {
             if ($m['context'] === 'this') {
                 $targetObject = '$this';
             } elseif ($m['context'] === 'context' && ($p = self::shiftAccessPath($m['path']))) {
                 if (class_exists($p['context']) || interface_exists($p['context'])) {
                     $targetObject = Code\Helpers::format('$this->_kdyby_aopContainer->getByType(?)', $p['context']);
                 } else {
                     $targetObject = Code\Helpers::format('$this->_kdyby_aopContainer->getService(?)', $p['context']);
                 }
                 $m['path'] = $p['path'];
             } else {
                 throw new Kdyby\Aop\NotImplementedException();
             }
             $expression = Code\Helpers::format('PropertyAccess::createPropertyAccessor()->getValue(?, ?)', new Code\PhpLiteral($targetObject), $m['path']);
         }
         $expression = new Code\PhpLiteral($expression);
     }
     return $expression;
 }
Exemplo n.º 9
0
 private function setupLatte(ContainerBuilder $container, array $config)
 {
     $this->validate($config, $this->defaults['latte'], 'nette.latte');
     $latteFactory = $container->addDefinition($this->prefix('latteFactory'))->setClass('Latte\\Engine')->addSetup('setTempDirectory', array($container->expand('%tempDir%/cache/latte')))->addSetup('setAutoRefresh', array($container->parameters['debugMode']))->addSetup('setContentType', array($config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML))->setImplement('Nette\\Bridges\\Framework\\ILatteFactory');
     $container->addDefinition($this->prefix('templateFactory'))->setClass('Nette\\Bridges\\ApplicationLatte\\TemplateFactory');
     $container->addDefinition($this->prefix('latte'))->setClass('Latte\\Engine')->addSetup('::trigger_error', array('Service nette.template is deprecated.', E_USER_DEPRECATED))->addSetup('setTempDirectory', array($container->expand('%tempDir%/cache/latte')))->addSetup('setAutoRefresh', array($container->parameters['debugMode']))->addSetup('setContentType', array($config['xhtml'] ? Latte\Compiler::CONTENT_XHTML : Latte\Compiler::CONTENT_HTML))->setAutowired(FALSE);
     $container->addDefinition($this->prefix('template'))->setClass('Nette\\Templating\\FileTemplate')->addSetup('::trigger_error', array('Service nette.template is deprecated.', E_USER_DEPRECATED))->addSetup('registerFilter', array(new Nette\DI\Statement(array($latteFactory, 'create'))))->addSetup('registerHelperLoader', array('Nette\\Templating\\Helpers::loader'))->setAutowired(FALSE);
 }
Exemplo n.º 10
0
 function afterCompile(ContainerBuilder $container, Nette\Utils\PhpGenerator\ClassType $class)
 {
     $initialize = $class->methods['initialize'];
     if (isset($container->parameters['tempDir'])) {
         $initialize->addBody($this->checkTempDir($container->expand($container->parameters['tempDir'])));
     }
     foreach ($container->findByTag('run') as $name => $foo) {
         $initialize->addBody('$this->getService(?);', array($name));
     }
 }