setDebugMode() public method

Set parameter %debugMode%.
public setDebugMode ( $value ) : self
return self
Exemplo n.º 1
0
 /**
  * @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());
 }
Exemplo n.º 2
0
 /**
  * Set parameter %debugMode%.
  * @param  bool|string|array
  * @return self
  */
 public function setDebugMode($value = NULL)
 {
     if ($value === NULL) {
         $value = $this->detectDebugModeByKey();
     }
     return parent::setDebugMode($value);
 }
 public function create() : Container
 {
     $configurator = new Configurator();
     $configurator->setDebugMode(true);
     $configurator->setTempDirectory($this->createAndReturnTempDir());
     $configurator->addConfig(__DIR__ . '/../config/config.neon');
     return $configurator->createContainer();
 }
Exemplo n.º 4
0
 protected function createContainer()
 {
     $configurator = new Configurator();
     $configurator->setDebugMode(FALSE);
     $configurator->setTempDirectory(TEMP_DIR);
     $configurator->addConfig(__DIR__ . '/../config.neon');
     return $configurator->createContainer();
 }
Exemplo n.º 5
0
 /**
  * @param Nette\Configurator $configurator
  * @return bool has the debug mode been modified?
  */
 public static function setupMode(Nette\Configurator $configurator)
 {
     if (PHP_SAPI !== 'cli') {
         return FALSE;
     }
     $input = new ArgvInput();
     if (!$input->hasParameterOption('--debug-mode')) {
         return FALSE;
     }
     if ($input->hasParameterOption(['--debug-mode=no', '--debug-mode=off', '--debug-mode=false', '--debug-mode=0'])) {
         $configurator->setDebugMode(FALSE);
         return TRUE;
     } else {
         $configurator->setDebugMode(TRUE);
         return TRUE;
     }
 }
Exemplo n.º 6
0
 /**
  * @param bool $debugMode
  * @return Nette\DI\Container
  */
 protected function createContainer($debugMode)
 {
     $config = new Nette\Configurator();
     $config->setTempDirectory(TEMP_DIR);
     $config->setDebugMode($debugMode);
     Debugger::$productionMode = !$debugMode;
     QueryPanelExtension::register($config);
     $config->addConfig(__DIR__ . '/config.neon');
     return $config->createContainer();
 }
Exemplo n.º 7
0
 /**
  * @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;
 }
 protected function createContainer()
 {
     $configurator = new Nette\Configurator();
     $configurator->setTempDirectory(dirname(TEMP_DIR));
     // shared container for performance purposes
     $configurator->setDebugMode(FALSE);
     $configurator->addParameters(['appDir' => __DIR__ . '/../../app']);
     $configurator->addConfig(__DIR__ . '/../../app/config/config.neon');
     $configurator->addConfig(__DIR__ . '/../../app/config/' . getenv('DB') . '.neon');
     $configurator->addConfig(__DIR__ . '/../config/tests.neon');
     return $configurator->createContainer();
 }
Exemplo n.º 9
0
 /**
  * Loads global configuration from file and process it.
  * @param  string
  * @param  string
  * @return Nette\Utils\ArrayHash
  */
 public static function loadConfig($file = NULL, $section = NULL)
 {
     if (self::$createdAt) {
         throw new Nette\InvalidStateException('Nette\\Configurator has already been created automatically by Nette\\Environment at ' . self::$createdAt);
     } elseif (!defined('TEMP_DIR')) {
         throw new Nette\InvalidStateException('Nette\\Environment requires constant TEMP_DIR with path to temporary directory.');
     }
     $configurator = new Nette\Configurator();
     $configurator->setDebugMode(!self::isProduction())->setTempDirectory(TEMP_DIR)->addParameters(array('container' => array('class' => 'EnvironmentContainer')));
     if ($file) {
         $configurator->addConfig($file, $section);
     }
     self::$context = $configurator->createContainer();
     self::$createdAt = '?';
     foreach (debug_backtrace(FALSE) as $row) {
         if (isset($row['file']) && $row['file'] !== __FILE__ && is_file($row['file'])) {
             self::$createdAt = "{$row['file']}:{$row['line']}";
             break;
         }
     }
     return self::getConfig();
 }
Exemplo n.º 10
0
<?php

use Nette\Configurator;
use Nette\Utils\Strings;
require __DIR__ . '/shortcuts.php';
require __DIR__ . '/../vendor/autoload.php';
$configurator = new Configurator();
$debugMode = FALSE;
$debugSwitchFile = __DIR__ . '/config/debug';
if (file_exists($debugSwitchFile)) {
    $debugMode = Strings::trim(mb_strtolower(file_get_contents($debugSwitchFile))) === 'true' ? TRUE : FALSE;
}
$configurator->setDebugMode($debugMode);
$configurator->enableDebugger(__DIR__ . '/../log');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()->addDirectory(__DIR__)->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$localConfig = __DIR__ . '/config/config.local.neon';
if (file_exists($localConfig)) {
    $configurator->addConfig($localConfig);
}
$container = $configurator->createContainer();
return $container;
Exemplo n.º 11
0
<?php

// Load Nette Framework or autoloader generated by Composer
use Nette\Configurator;
require __DIR__ . '/../libs/composer/autoload.php';
\Nette\Diagnostics\Debugger::$maxDepth = 6;
$configurator = new Configurator();
// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode(TRUE);
//$configurator->setDebugMode(FALSE);
$configurator->enableDebugger(__DIR__ . '/../log');
// Specify folder for cache
$configurator->setTempDirectory(__DIR__ . '/../temp');
// Enable RobotLoader - this will load all classes automatically
$configurator->createRobotLoader()->addDirectory(__DIR__)->addDirectory(__DIR__ . '/../libs')->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.model.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$container = $configurator->createContainer();
return $container;
Exemplo n.º 12
0
 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);
     $projectConfigFile = $input->getOption('configuration');
     $levelOption = $input->getOption(self::OPTION_LEVEL);
     $defaultLevelUsed = false;
     if ($projectConfigFile === null && $levelOption === null) {
         $levelOption = self::DEFAULT_LEVEL;
         $defaultLevelUsed = true;
     }
     $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, 'tmpDir' => $tmpDir]);
     $container = $configurator->createContainer();
     $consoleStyle = new ErrorsConsoleStyle($input, $output);
     $memoryLimitFile = $container->parameters['memoryLimitFile'];
     if (file_exists($memoryLimitFile)) {
         $consoleStyle->note(sprintf("PHPStan crashed in the previous run probably because of excessive memory consumption.\nIt consumed around %s of memory.\n\nTo avoid this issue, increase the memory_limit directive in your php.ini file here:\n%s\n\nIf you can't or don't want to change the system-wide memory limit, run PHPStan like this:\n%s", file_get_contents($memoryLimitFile), php_ini_loaded_file(), sprintf('php -d memory_limit=XX %s', implode(' ', $_SERVER['argv']))));
         unlink($memoryLimitFile);
     }
     if (PHP_VERSION_ID >= 70100 && !property_exists(Catch_::class, 'types')) {
         $consoleStyle->note('You\'re running PHP >= 7.1, but you still have PHP-Parser version 2.x. This will lead to parse errors in case you use PHP 7.1 syntax like nullable parameters, iterable and void typehints, union exception types, or class constant visibility. Update to PHP-Parser 3.x to dismiss this message.');
     }
     $this->setUpSignalHandler($consoleStyle, $memoryLimitFile);
     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 $this->handleReturn(1, $memoryLimitFile);
     } elseif ($container->parameters['customRulesetUsed']) {
         $defaultLevelUsed = false;
     }
     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 $this->handleReturn($application->analyse($input->getArgument('paths'), $consoleStyle, $defaultLevelUsed), $memoryLimitFile);
 }
Exemplo n.º 13
0
<?php

// Load Nette Framework or autoloader generated by Composer
use Nette\Configurator;
require __DIR__ . '/../libs/composer/autoload.php';
$configurator = new Configurator();
// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode('127.0.0.1');
$configurator->enableDebugger(__DIR__ . '/../log');
// Specify folder for cache
$configurator->setTempDirectory(__DIR__ . '/../temp');
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();
return $container;
Exemplo n.º 14
0
 /** @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;
 }
Exemplo n.º 15
0
 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;
 }
Exemplo n.º 16
0
 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));
 }