setCompiler() public method

public setCompiler ( Compiler $compiler, $name )
$compiler Compiler
Beispiel #1
0
 public function setCompiler(Nette\DI\Compiler $compiler, $name) : self
 {
     $application = current($compiler->getExtensions(Nette\Bridges\ApplicationDI\ApplicationExtension::class));
     if ($application instanceof Nette\Bridges\ApplicationDI\ApplicationExtension) {
         $application->defaults['errorPresenter'] = FALSE;
         $application->defaults['scanDirs'] = FALSE;
         $application->defaults['mapping'] = ['*' => 'Ytnuk\\*\\*'];
     }
     $session = current($compiler->getExtensions(Nette\Bridges\HttpDI\SessionExtension::class));
     if ($session instanceof Nette\Bridges\HttpDI\SessionExtension) {
         $session->defaults['debugger'] = $this->debugMode;
     }
     $http = current($compiler->getExtensions(Nette\Bridges\HttpDI\HttpExtension::class));
     if ($http instanceof Nette\Bridges\HttpDI\HttpExtension) {
         $http->defaults['headers']['X-Powered-By'] = __NAMESPACE__;
         $contentSecurityPolicy = ['default-src' => '\'self\'', 'form-action' => '\'self\'', 'img-src' => '\'self\' data:'];
         if ($this->debugMode) {
             $contentSecurityPolicy += ['script-src' => '\'self\' \'unsafe-inline\' \'unsafe-eval\'', 'style-src' => '\'self\' \'unsafe-inline\''];
         }
         $http->defaults['headers']['Content-Security-Policy'] = implode(';', array_map(function (string $key, string $value) {
             return implode(' ', [$key, $value]);
         }, array_keys($contentSecurityPolicy), array_values($contentSecurityPolicy)));
     }
     $di = current($compiler->getExtensions(Nette\DI\Extensions\DIExtension::class));
     if ($di instanceof Nette\DI\Extensions\DIExtension) {
         $di->defaults['debugger'] = $this->debugMode;
     }
     return parent::setCompiler($compiler, $name);
 }
Beispiel #2
0
	/**
	 * Add custom configurator extension.
	 * @return self
	 */
	public function addExtension($name, CompilerExtension $extension)
	{
		if (isset(self::$reserved[$name])) {
			throw new Nette\InvalidArgumentException("Name '$name' is reserved.");
		}
		$this->extensions[$name] = $extension->setCompiler($this, $name);
		return $this;
	}
Beispiel #3
0
 /**
  * Add custom configurator extension.
  * @return self
  */
 public function addExtension(string $name, CompilerExtension $extension) : self
 {
     if (isset($this->extensions[$name]) || isset(self::$reserved[$name])) {
         throw new Nette\InvalidArgumentException("Name '{$name}' is already used or reserved.");
     }
     $this->extensions[$name] = $extension->setCompiler($this, $name);
     return $this;
 }
Beispiel #4
0
 public function setCompiler(\Nette\DI\Compiler $compiler, $name)
 {
     $ret = parent::setCompiler($compiler, $name);
     if (!function_exists("imap_open")) {
         throw new \Exception("Check if is installed ext-imap");
     }
     $config = $this->getConfig($this->defaults);
     $this->consumers = $config['rabbitmq']['consumers'];
     $this->producers = $config['rabbitmq']['producers'];
     return $ret;
 }