/** * @param Configurator * @return void */ protected function setupDebugger(Configurator $configurator) { if (($allowedIPsForDebugging = $this->options->getAllowedIPsForDebugging()) !== NULL) { $configurator->setDebugMode($allowedIPsForDebugging); } $configurator->enableDebugger($this->options->getLogDirectory(), $this->options->getErrorNotificationEmail()); }
/** * @return Configurator */ protected function createConfigurator() { $this->defineConstants(); $configurator = new Configurator(); $configurator->setDebugMode($this->debugger); $configurator->enableDebugger(LOG_DIR); Debugger::$strictMode = FALSE; $configurator->setTempDirectory(TEMP_DIR); $configurator->createRobotLoader()->addDirectory(APP_DIR)->register(); return $configurator; }
<?php namespace NetteAddons; use Nette\Configurator; // Load Nette Framework or autoloader generated by Composer require __DIR__ . '/../vendor/autoload.php'; $configurator = new Configurator(); // Enable Nette Debugger for error visualisation & logging //$configurator->setDebugMode(TRUE); $configurator->enableDebugger(__DIR__ . '/../log'); // Specify folder for cache $configurator->setTempDirectory(__DIR__ . '/../temp'); // Enable RobotLoader - this will load all classes automatically $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); // Create Dependency Injection container from config.neon file $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/config.local.neon'); $container = $configurator->createContainer(); return $container;
/** * @param string error log directory * @param string administrator email * @return void */ public function enableDebugger($logDirectory = NULL, $email = NULL) { // Add default parameters return parent::enableDebugger($logDirectory === NULL ? $this->parameters['logDir'] : $logDirectory, $email); }
/** * @param string * @param string */ public function enableDebugger($logDirectory = NULL, $email = NULL) { $logDirectory = $logDirectory ?: $this->parameters['logDir']; parent::enableDebugger($logDirectory, $email); }
/** @return Configurator */ private function prepareConfigurator() { $configurator = new Configurator(); $configurator->addParameters(['appDir' => $this->paths['app'], 'paths' => $this->paths]); // Enable Nette Debugger for error visualisation & logging $configurator->setDebugMode($this->debugMode); if (class_exists(Debugger::class)) { $configurator->enableDebugger($this->paths['log']); } // Specify folder for cache $configurator->setTempDirectory($this->paths['temp']); return $configurator; }
protected function createConfigurator() { $configurator = new Configurator(); // Fix incorrectly initialized appDir $configurator->addParameters(['appDir' => $this->appDir]); // Add root dir $configurator->addParameters(['rootDir' => $this->rootDir]); // Add temp dir $configurator->addParameters(['tempDir' => $this->tempDir]); $configurator->setTempDirectory($this->tempDir); if ($this->debug && $this->isDebugger()) { $configurator->setDebugMode($this->debuggers); } else { $configurator->setDebugMode(FALSE); } if ($this->enableLog) { $configurator->enableDebugger($this->tempDir . '/log', $this->debugEmails); } // Load app $loader = $configurator->createRobotLoader()->addDirectory($this->appDir); // Load additional paths specified in index.php foreach ($this->loaderPaths as $path) { $loader->addDirectory($path); } $loader->register(); return $configurator; }
protected function execute(InputInterface $input, OutputInterface $output) : int { $rootDir = realpath(__DIR__ . '/../..'); $tmpDir = $rootDir . '/tmp'; $confDir = $rootDir . '/conf'; $configurator = new Configurator(); $configurator->defaultExtensions = []; $configurator->setDebugMode(true); $configurator->setTempDirectory($tmpDir); $configurator->enableDebugger($tmpDir . '/log'); $projectConfigFile = $input->getOption('configuration'); $levelOption = $input->getOption(self::OPTION_LEVEL); if ($projectConfigFile === null && $levelOption === null) { $levelOption = self::DEFAULT_LEVEL; } $configFiles = [$confDir . '/config.neon']; if ($levelOption !== null) { $levelConfigFile = sprintf('%s/config.level%s.neon', $confDir, $levelOption); if (!is_file($levelConfigFile)) { $output->writeln(sprintf('Level config file %s was not found.', $levelConfigFile)); return 1; } $configFiles[] = $levelConfigFile; } if ($projectConfigFile !== null) { $projectConfigRealFilePath = realpath($projectConfigFile); if (!is_file($projectConfigFile)) { $output->writeln(sprintf('Project config file at path %s does not exist.', $projectConfigRealFilePath !== false ? $projectConfigRealFilePath : $projectConfigFile)); return 1; } $configFiles[] = $projectConfigRealFilePath; } foreach ($configFiles as $configFile) { $configurator->addConfig($configFile); } $configurator->addParameters(['rootDir' => $rootDir]); $container = $configurator->createContainer(); if (!isset($container->parameters['customRulesetUsed'])) { $output->writeln(''); $output->writeln('<comment>No rules detected</comment>'); $output->writeln(''); $output->writeln('You have the following choices:'); $output->writeln(''); $output->writeln('* while running the analyse option, use the <info>--level</info> option to adjust your rule level - the higher the stricter'); $output->writeln(''); $output->writeln(sprintf('* create your own <info>custom ruleset</info> by selecting which rules you want to check by copying the service definitions from the built-in config level files in <options=bold>%s</>.', realpath(__DIR__ . '/../../conf'))); $output->writeln(' * in this case, don\'t forget to define parameter <options=bold>customRulesetUsed</> in your config file.'); $output->writeln(''); return 1; } Debugger::$browser = $container->parameters['debug_cli_browser']; foreach ($container->parameters['autoload_files'] as $autoloadFile) { require_once $autoloadFile; } if (count($container->parameters['autoload_directories']) > 0) { $robotLoader = new \Nette\Loaders\RobotLoader(); $robotLoader->setCacheStorage(new \Nette\Caching\Storages\MemoryStorage()); foreach ($container->parameters['autoload_directories'] as $directory) { $robotLoader->addDirectory($directory); } $robotLoader->register(); } $application = $container->getByType(AnalyseApplication::class); return $application->analyse($input->getArgument('paths'), new ErrorsConsoleStyle($input, $output)); }