protected function startup() { if (!Environment::isConsole()) { throw new InvalidStateException('Access allowed only from console!'); } parent::startup(); }
// Step 3: Configure application // 3a) get and setup a front controller $application = Environment::getApplication(); $application->errorPresenter = 'Front:Error'; if (Environment::isProduction() && Debug::$productionMode) { $application->catchExceptions = true; } else { $application->catchExceptions = false; } dibi::connect(Environment::getConfig("database")); // Step 4: Setup application router $routes = array(); /* MENU ITEMS */ $routes[] = new Route('<lang [a-z]{2}>/<id>/', array('module' => 'Front', 'presenter' => 'Page', 'action' => 'default', 'id' => array(Route::FILTER_IN => callback('MenuSeoModel::findIdByUri'), Route::FILTER_OUT => callback('MenuSeoModel::findUriById')), 'lang' => NULL)); // setup CLI mode if (Environment::isConsole()) { Debug::$productionMode = false; // to allow 'dump' render output $application->allowedMethods = false; $routes[] = new CliRouter(array('action' => 'Console:Default:default')); } $application->addRoutes($routes); FormMacros::register(); /***** ***** ** * Debug Bar * ****** ***** **/ $todoPanel = new TodoPanel(); $todoPanel->todoMask = array('TODO', 'FIXME', 'FIX ME', 'FIX', 'TO DO', 'PENDING', 'XXX'); Debug::addPanel($todoPanel); //PresenterTreePanel::register(); CallbackPanel::register();
<h1>Nette\Environment mode test</h1> <pre> <?php require_once '../../Nette/loader.php'; /*use Nette\Debug;*/ /*use Nette\Environment;*/ echo "Is console?\n"; Debug::dump(Environment::isConsole()); echo "Is production mode?\n"; Debug::dump(Environment::isProduction()); define('DEBUG_MODE', FALSE); echo "Is debugging?\n"; Debug::dump(Environment::isDebugging()); echo "Setting mode...\n"; Environment::setMode('debug', 123); echo "Is debugging?\n"; Debug::dump(Environment::isDebugging());