/** * @param string|NULL $&onfig * @return Nette\DI\Container */ function createContainer($config = NULL) { $builder = new Nette\Configurator(); $builder->addConfig(__DIR__ . '/config.neon'); $builder->setTempDirectory(TEMP_DIR); if (!is_null($config)) { $builder->addConfig($config); } $builder->addParameters(['container' => ['class' => 'SystemContainer_' . md5($config)], 'appDir' => dirname(__DIR__), 'wwwDir' => __DIR__]); return $builder->createContainer(); }
function getContainer() { $configurator = new \Nette\Configurator(); $configurator->setTempDirectory(TEMP_DIR); $configurator->addConfig(__DIR__ . '/../config/config.neon'); return $configurator->createContainer(); }
/** * @param string $configFile * @return \SystemContainer|Nette\DI\Container */ function createContainer($configFile) { $config = new Nette\Configurator(); $config->setTempDirectory(TEMP_DIR); $config->addParameters(array('container' => array('class' => 'SystemContainer_' . md5($configFile)))); $config->addConfig(__DIR__ . '/config/' . $configFile . '.neon'); JP\LeanMapperExtension\LeanMapperExtension::register($config); return $config->createContainer(); }
public function testExtensionName() { $tempDir = __DIR__ . '/../temp'; $class = 'ExtensionNameServiceContainer'; $configurator = new \Nette\Configurator(); $configurator->setTempDirectory($tempDir); $configurator->addParameters(array('container' => array('class' => $class))); $configurator->onCompile[] = function ($configurator, \Nette\DI\Compiler $compiler) { $compiler->addExtension('Foo', new \WebLoader\Nette\Extension()); }; $configurator->addConfig(__DIR__ . '/../fixtures/extensionName.neon', false); $container = $configurator->createContainer(); $this->assertInstanceOf('WebLoader\\Compiler', $container->getService('Foo.cssDefaultCompiler')); $this->assertInstanceOf('WebLoader\\Compiler', $container->getService('Foo.jsDefaultCompiler')); }
private function prepareContainer($class, $configFiles) { $tempDir = __DIR__ . '/../temp'; foreach (Finder::findFiles('*')->exclude('.gitignore')->from($tempDir . '/cache') as $file) { unlink((string) $file); } $configurator = new \Nette\Configurator(); $configurator->setTempDirectory($tempDir); foreach ($configFiles as $file) { $configurator->addConfig($file, FALSE); } $configurator->addParameters(array('fixturesDir' => __DIR__ . '/../fixtures', 'tempDir' => $tempDir, 'container' => array('class' => $class))); $extension = new \WebLoader\Nette\Extension(); $extension->install($configurator); $this->container = @$configurator->createContainer(); // sends header X-Powered-By, ... }
/** * @return \TestPresenter */ private function createPresenter() { $url = new \Nette\Http\UrlScript('http://localhost/'); $url->setScriptPath('/'); $configurator = new \Nette\Configurator(); $configurator->addConfig(__DIR__ . '/config.neon'); \Kdyby\Events\DI\EventsExtension::register($configurator); \Kdyby\Annotations\DI\AnnotationsExtension::register($configurator); \Kdyby\Doctrine\DI\OrmExtension::register($configurator); $container = $configurator->setTempDirectory(TEMP_DIR)->createContainer(); $container->removeService('httpRequest'); $container->addService('httpRequest', new \Nette\Http\Request($url)); $application = $container->getService('application'); $application->router[] = new \Nette\Application\Routers\SimpleRouter(); $presenter = new TestPresenter($container); $container->callInjects($presenter); $presenter->invalidLinkMode = $presenter::INVALID_LINK_WARNING; $presenter->autoCanonicalize = FALSE; return $presenter; }
<?php require __DIR__ . '/../vendor/autoload.php'; $tomDebug = getenv('TOM_DEBUG') === 'TRUE' && isset($_COOKIE['tom_api_debug']); $tomLogDir = getenv('TOM_LOG_DIR') ?: '/var/log/tripomatic-api-skeleton'; $tomTmpDir = getenv('TOM_TMP_DIR') ?: '/var/tmp/tripomatic-api-skeleton'; $tomConfigFile = getenv('TOM_CONFIG_FILE') ?: __DIR__ . '/config.local.neon'; $configurator = new Nette\Configurator(); $configurator->setDebugMode($tomDebug); $configurator->enableDebugger($tomLogDir); // fix for HHVM to always correctly render Tracy bluescreen register_shutdown_function(function () { flush(); }); $configurator->setTempDirectory($tomTmpDir); $configurator->addConfig(__DIR__ . '/config.neon'); if (file_exists($tomConfigFile)) { $configurator->addConfig($tomConfigFile); } return $configurator->createContainer();
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); //$configurator->setDebugMode('23.75.345.200'); // enable for your remote IP $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/config.mesour.neon'); $configurator->addConfig(__DIR__ . '/config/config.local.neon'); $container = $configurator->createContainer(); return $container;
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); $environment = $configurator->setDebugMode('x.x.x.x'); $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); $environment = (Nette\Configurator::detectDebugMode('127.0.0.1') or PHP_SAPI == 'cli' && Nette\Utils\Strings::startsWith(getHostByName(getHostName()), "192.168.")) ? 'development' : 'production'; $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . "/config/config.{$environment}.neon"); $container = $configurator->createContainer(); $container->getService('application')->errorPresenter = 'Front:Error'; return $container;
require __DIR__ . '/shortcuts.php'; require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); $debugMode = FALSE; $environmentFile = __DIR__ . '/local/environment'; if (file_exists($environmentFile)) { $environment = file_get_contents($environmentFile); $debugMode = $environment === 'production' ? FALSE : TRUE; } else { $environment = 'production'; } $environment = Strings::trim(Strings::lower($environment)); $debugSwitchFile = __DIR__ . '/local/debug'; if (file_exists($debugSwitchFile)) { $debugMode = Strings::trim(mb_strtolower(file_get_contents($debugSwitchFile))) === 'true' ? TRUE : FALSE; } // Enable Nette Debugger for error visualisation & logging $configurator->setDebugMode($debugMode); $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'); $localConfig = __DIR__ . '/local/config.local.neon'; if (file_exists($localConfig)) { $configurator->addConfig($localConfig); } $container = $configurator->createContainer(); return $container;
<?php require __DIR__ . '/../vendor/autoload.php'; $oConfigurator = new Nette\Configurator(); //$oConfigurator->setDebugMode('23.75.345.200'); // enable for your remote IP $oConfigurator->enableDebugger(__DIR__ . '/../log'); $oConfigurator->setTempDirectory(__DIR__ . '/../temp'); $oConfigurator->createRobotLoader()->addDirectory(__DIR__)->register(); $oConfigurator->addConfig(__DIR__ . '/config/config.neon'); if ($oConfigurator->debugMode) { $oConfigurator->addConfig(__DIR__ . '/config/config.local.neon'); } $oContainer = $oConfigurator->createContainer(); //$oContainer->getByType('App\Model\UserManager')->add("admin", "admin", "*****@*****.**", 1); //$oContainer->getByType('App\Model\UserManager')->add("demo", "demo", "*****@*****.**", 2); return $oContainer;
use Nette\DI\CompilerExtension; // Load Composer Autoloader require LIBS_DIR . '/autoload.php'; // Configure application $configurator = new Nette\Configurator; // Enable Nette Debugger for error visualisation & logging //$configurator->setDebugMode($configurator::AUTO); $configurator->enableDebugger(__DIR__ . '/../log'); // Enable RobotLoader - this will load all classes automatically $configurator->setTempDirectory(__DIR__ . '/../tmp'); $configurator->createRobotLoader() ->addDirectory(APP_DIR) ->register(); // Create Dependency Injection container from config.neon file $configurator->addConfig(__DIR__ . '/config/config.neon', $configurator::AUTO); $container = $configurator->createContainer(); // Setup router $container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY); $container->router[] = new Route('stream/', 'Search:stream'); $container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default'); // Configure and run the application! $container->application->run();
<?php /** * @author Martin Procházka <*****@*****.**> * @package www.juniwalk.cz * @link https://github.com/juniwalk/www.juniwalk.cz * @copyright Martin Procházka (c) 2015 * @license MIT License */ include __DIR__ . '/../vendor/autoload.php'; $di = new \Nette\Configurator(); $di->addConfig(__DIR__ . '/config/config.neon'); $di->setTempDirectory(__DIR__ . '/../temp'); $di->addParameters(['pkgDir' => __DIR__ . '/../vendor', 'wwwDir' => __DIR__ . '/../www', 'appDir' => __DIR__]); $di->setDebugMode(include __DIR__ . '/config/config-ipconf.php'); $di->enableDebugger(__DIR__ . '/../log'); $di->createRobotLoader()->addDirectory(__DIR__)->register(); return $di->createContainer();
// Settings define('DOMAIN_NAME', 'webarchiv.cz'); define('PROJECT_NAME', 'Webarchiv'); define('PASSWORD_SALT', '0po4'); define('SYSTEM_EMAIL', '*****@*****.**'); // Configure application $configurator = new Nette\Configurator(); // Enable Nette Debugger for error visualisation & logging //$configurator->setDebugMode(TRUE); $configurator->enableDebugger(__DIR__ . '/../log'); // Enable RobotLoader - this will load all classes automatically $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(APP_DIR)->addDirectory(LIBS_DIR)->register(); // Create Dependency Injection container from config.neon file $environment = Nette\Configurator::detectDebugMode('127.0.0.1') ? $configurator::DEVELOPMENT : $configurator::PRODUCTION; $configurator->addConfig(__DIR__ . '/config/config.neon', $environment); $container = $configurator->createContainer(); $container->application->errorPresenter = 'Error'; // DatePicker \Nette\Forms\Form::extensionMethod('addDatePicker', function (Nette\Forms\Form $_this, $name, $label = NULL, $cols = NULL, $maxLength = NULL) { return $_this[$name] = new RadekDostal\NetteComponents\DateTimePicker\DatePicker($label, $cols, $maxLength); }); // Setup router // Admin Router $container->router[] = $adminRouter = new RouteList(); $adminRouter[] = new Route('admin/<presenter>/<action>/<id>', array('module' => 'Admin', 'presenter' => 'Default', 'action' => 'default')); $adminRouter[] = new Route('admin/<presenter>/<action>', array('module' => 'Admin', 'presenter' => 'Default', 'action' => 'default', 'id' => NULL)); // Front Router $container->router[] = $frontRouter = new RouteList(); $frontRouter[] = new Route('index.php', array('presenter' => 'Default'), Route::ONE_WAY); $frontRouter[] = new Route('', array('lang' => 'cs', 'presenter' => 'Default'), Route::ONE_WAY);
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); //$configurator->setDebugMode('23.75.345.200'); // enable for your remote IP $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); $confType = Nette\Configurator::detectDebugMode() ? "local" : "product"; $configurator->addConfig(__DIR__ . '/config/config.' . $confType . '.neon'); $container = $configurator->createContainer(); return $container;
<?php return call_user_func(function () : Nette\Configurator { return call_user_func(function () : Nette\Configurator { Tracy\Debugger::$errorTemplate = __DIR__ . '/maintenance.php'; if (!($configurator = is_file($local = __DIR__ . '/local.php') ? require $local : NULL) instanceof Nette\Configurator) { $configurator = new Nette\Configurator(); } $configurator->addParameters(['appDir' => __DIR__, 'wwwDir' => __DIR__ . '/public', 'composer' => $composer = json_decode(file_get_contents(__DIR__ . '/../composer.json'), TRUE)]); $directory = isset($composer['name']) ? implode(DIRECTORY_SEPARATOR, [sys_get_temp_dir(), $composer['name']]) : NULL; if ($directory) { if (!is_dir($directory)) { @mkdir($directory, 0777, TRUE); } $configurator->enableDebugger($directory); $configurator->setTempDirectory($directory); } $configurator->addConfig(__DIR__ . '/../vendor/config.neon'); $configurator->addConfig(__DIR__ . '/config.neon'); if (is_file($local = __DIR__ . '/local.neon')) { $configurator->addConfig($local); } return $configurator; }, require __DIR__ . '/../vendor/autoload.php'); });
<?php require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/bootstrap.php'; $configurator = new Nette\Configurator(); $configurator->setTempDirectory(sys_get_temp_dir()); $configurator->addConfig(__DIR__ . '/config.neon'); $userConfig = $_SERVER['HOME'] . '/' . FlickrDownloadr\Command\Authorize::USER_CONFIG_FILENAME; if (is_readable($userConfig)) { $configurator->addConfig($userConfig); } $container = $configurator->createContainer(); $configParams = $container->getParameters(); $version = $configParams['version']; $build = $configParams['build']; $application = new FlickrDownloadr\Console\Application('Flickr Downloadr', $version, $build); $commands = $container->findByType('Symfony\\Component\\Console\\Command\\Command'); foreach ($commands as $commandName) { $application->add($container->getService($commandName)); } $application->run();
<?php define('APP_ROOT', __DIR__); require APP_ROOT . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); $configurator->setDebugMode(true); $configurator->enableDebugger(APP_ROOT . '/../log'); $configurator->setTempDirectory(APP_ROOT . '/../temp'); $configurator->createRobotLoader()->addDirectory(APP_ROOT)->addDirectory(APP_ROOT . '/../submodules')->register(); $configurator->addConfig(APP_ROOT . '/config/config.neon'); $configurator->addConfig(APP_ROOT . '/config/config.local.neon'); $configurator->addConfig(APP_ROOT . '/config/izi-ui.config.neon'); $container = $configurator->createContainer(); return $container;
<?php /* * =================================== * BOOTSTRAP FILE FOR TESTS * =================================== */ require __DIR__ . '/../vendor/autoload.php'; if (!class_exists('Tester\\Assert')) { echo "Install Nette Tester using `composer update --dev`\n"; exit(1); } Tester\Environment::setup(); class_alias('Tester\\Assert', 'Assert'); date_default_timezone_set('Europe/Prague'); define('TEMP_DIR', __DIR__ . "/tmp/" . getmypid()); Tester\Helpers::purge(TEMP_DIR); $configurator = new Nette\Configurator(); //$configurator->setDebugMode(TRUE); // debug mode MUST NOT be enabled on production server $configurator->enableDebugger(__DIR__ . '/log'); $configurator->setTempDirectory(__DIR__ . '/temp')->addParameters(['appDir' => __DIR__ . "/../app/"]); $configurator->createRobotLoader()->addDirectory(__DIR__)->addDirectory(__DIR__ . "/../app/")->addDirectory(__DIR__ . '/../vendor/others')->register(); $configurator->addConfig(__DIR__ . '/config/tests.local.neon'); $configurator->addConfig(__DIR__ . '/config/config.neon'); //$configurator->addConfig(__DIR__ . '/../app/modules/SystemModule/config/applicationConfig.neon'); \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader("class_exists"); $container = $configurator->createContainer(); $em = $container->getByType('Kdyby\\Doctrine\\EntityManager'); $schemaTool = new SchemaTool($em); $schemaTool->createSchema($em->getMetadataFactory()->getAllMetadata()); return $container;
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); //$configurator->setDebugMode('23.75.345.200'); // enable for your remote IP //$configurator->setDebugMode(false); // enable for your remote IP $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/config.model.neon'); $configurator->addConfig(__DIR__ . '/config/config.form.neon'); $configurator->addConfig(__DIR__ . '/../www/config/config.local.neon'); $container = $configurator->createContainer(); return $container;
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); //$configurator->setDebugMode(FALSE); $bootstrap = new Thunbolt\Bootstrap(__DIR__, $configurator); $bootstrap->initialize(); $configurator->addConfig(__DIR__ . '/config/extensions.neon'); $configurator->addConfig(__DIR__ . '/config/bundles.neon'); $configurator->addConfig(__DIR__ . '/config/services.neon'); $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/parameters.neon'); require __DIR__ . '/mode.php'; return $configurator->createContainer();
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); $configurator->setDebugMode("127.0.0.1"); $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->addDirectory(__DIR__ . '/../vendor/jzechy')->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/config.local.neon'); $configurator->addConfig(__DIR__ . '/components/config/config.neon'); $configurator->addConfig(__DIR__ . '/model/config/config.neon'); $container = $configurator->createContainer(); Zet\FileUpload\FileUploadControl::register($container); Zet\AntiSpam\AntiSpamControl::register($container); return $container;
<?php use Nette\Forms\Form, Vodacek\Forms\Controls\DateInput, Doctrine\DBAL\Types\Type; $composer = (require __DIR__ . '/../vendor/autoload.php'); $configurator = new Nette\Configurator(); $configurator->setDebugMode(true); //$configurator->setDebugMode(FALSE); // debug mode MUST NOT be enabled on production server $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); // robot loader se stara o nacitani mych veci a composer autoloader se stara o nacitani knihoven $robotLoader = $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../vendor/others')->addDirectory(__DIR__)->register(); //$composer->addClassMap($robotLoader->getIndexedClasses()); $configurator->addConfig(__DIR__ . '/modules/SystemModule/config/applicationConfig.local.neon'); $configurator->addConfig(__DIR__ . '/modules/SystemModule/config/applicationConfig.neon'); // enum types registering for database use (MUST BE ACCESSIBLE HERE DUE TO CONSOLE COMMAND USAGE) // this issue has been reported Type::addType("AclMode", "App\\Model\\Misc\\Enum\\AclMode"); Type::addType("AclPrivilege", "App\\Model\\Misc\\Enum\\AclPrivilege"); Type::addType("WebProfileStatus", "App\\Model\\Misc\\Enum\\WebProfileStatus"); Type::addType("ArticleStatus", "App\\Model\\Misc\\Enum\\ArticleStatus"); Type::addType("MailBoxEntryType", "App\\Model\\Misc\\Enum\\MailBoxEntryType"); Type::addType("PaymentOwnerType", "App\\Model\\Misc\\Enum\\PaymentOwnerType"); Type::addType("PaymentStatus", "App\\Model\\Misc\\Enum\\PaymentStatus"); Type::addType("FormMode", "App\\Model\\Misc\\Enum\\FormMode"); Type::addType("CommentMode", "App\\Model\\Misc\\Enum\\CommentMode"); Type::addType("StaticPageStatus", "App\\Model\\Misc\\Enum\\StaticPageStatus"); Type::addType("EventParticipationType", "App\\Model\\Misc\\Enum\\EventParticipationType"); Type::addType("EventVisibility", "App\\Model\\Misc\\Enum\\EventVisibility"); Type::addType("EventType", "App\\Model\\Misc\\Enum\\EventType"); Type::addType("MotivationEntryType", "App\\Model\\Misc\\Enum\\MotivationEntryType"); Type::addType("WallPostStatus", "\\App\\Model\\Misc\\Enum\\WallPostStatus"); // form extensions
<?php require_once __DIR__ . '/../vendor/autoload.php'; Tester\Environment::setup(); define('TEMP_DIR', __DIR__ . '/tmp/' . getmypid()); @mkdir(TEMP_DIR); @mkdir(TEMP_DIR . '/sessions'); $params = array('testingsqlitedb' => TEMP_DIR . '/db.sqlite'); $configurator = new Nette\Configurator(); $configurator->setDebugMode(true); $configurator->setTempDirectory(TEMP_DIR); $configurator->addParameters($params); $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../app')->register(); $configurator->addConfig(__DIR__ . '/../app/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/db.neon'); $container = $configurator->createContainer(); $source = __DIR__ . '/db-image.sqlite'; $target = $params['testingsqlitedb']; Nette\Utils\FileSystem::copy($source, $target); return $container;
<?php //php vendor\nette\tester\src\tester.php -c w:subdom\vycetky-doctrine\tests\php.ini w:subdom\vycetky-doctrine\tests\unit\Types\InvoiceTime.phpt require __DIR__ . '/../../../vendor/autoload.php'; Tester\Environment::setup(); date_default_timezone_set('Europe/Prague'); $configurator = new Nette\Configurator(); //$configurator->enableDebugger(__DIR__ . '/log'); $configurator->setTempDirectory(__DIR__ . '/temp'); $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../app')->addDirectory(__DIR__ . '/../libs')->register(); $configurator->addConfig(__DIR__ . '/../app/config/config.neon'); $configurator->addConfig(__DIR__ . '/config.test.local.neon'); $container = $configurator->createContainer(); //\Tester\Helpers::purge(__DIR__ . '/log'); return $container;
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); //$configurator->setDebugMode('23.75.345.200'); // enable for your remote IP $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); if (!isset($_SERVER['REMOTE_ADDR']) or in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) { // !isset is for doctrine $configurator->addConfig(__DIR__ . '/config/config.local.neon'); } else { $configurator->addConfig(__DIR__ . '/config/config.production.neon'); } $container = $configurator->createContainer(); return $container;
<?php $configurator = new \Nette\Configurator(); $configurator->setTempDirectory(__DIR__ . '/temp'); $configurator->defaultExtensions = array(); $configurator->addConfig(__DIR__ . '/config/services.neon'); $container = $configurator->createContainer(); // compile //trigger autoloader $a = $container->getService('b'); unset($a); $t1 = microtime(true); for ($i = 0; $i < 10000; $i++) { $a = $container->getService('b'); } $t2 = microtime(true); $results = ['time' => $t2 - $t1, 'files' => count(get_included_files()), 'memory' => memory_get_peak_usage() / 1024 / 1024]; echo json_encode($results);
<?php /** * My Application bootstrap file. */ date_default_timezone_set('UTC'); // Load Nette Framework or autoloader generated by Composer require __DIR__ . '/../vendor/autoload.php'; // Configure application $configurator = new Nette\Configurator(); if (function_exists('isDebugMode') and isDebugMode($debugArray) == true) { $configurator->setDebugMode(true); } // Enable RobotLoader - this will load all classes automatically $configurator->setTempDirectory(__DIR__ . '/../temp'); $configurator->enableDebugger(__DIR__ . '/../log'); $configurator->createRobotLoader()->addDirectory(APP_DIR)->register(); // Create Dependency Injection container from config.neon file $configurator->addConfig(__DIR__ . '/config/config.neon', false); $configurator->addConfig(__DIR__ . '/config/config.local.neon', false); if ($configurator->isDebugMode()) { define('ENVIRONMENT', 'DEVELOPMENT'); } else { define('ENVIRONMENT', 'PRODUCTION'); $container->application->catchExceptions = true; } $container = $configurator->createContainer(); $container->application->run();
<?php require __DIR__ . '/../vendor/autoload.php'; // Configure application $configurator = new \Nette\Configurator(); // Enable Nette Debugger for error visualisation & logging //$configurator->setDebugMode(FALSE); $configurator->enableDebugger(__DIR__ . '/../log'); // Specify folder for cache $configurator->setTempDirectory(__DIR__ . '/../temp'); // Enable RobotLoader - this will load all classes automatically $loader = $configurator->createRobotLoader()->addDirectory(__DIR__)->register(); // Create Dependency Injection container from config.neon file $configurator->addConfig(__DIR__ . '/config/config.neon'); $container = $configurator->createContainer(); return $container;
<?php require __DIR__ . '/../../../vendor/autoload.php'; /** START TEST */ @mkdir(__DIR__ . '/temp'); @mkdir(__DIR__ . '/temp/log'); /*foreach (\Nette\Utils\Finder::findFiles('*')->from(__DIR__ . '/temp') as $file) { @unlink((string) $file); }*/ /** END TEST */ $configurator = new Nette\Configurator(); //$configurator->enableDebugger(__DIR__ . '/temp/log'); $configurator->setTempDirectory(__DIR__ . '/temp'); $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../src')->addDirectory(__DIR__ . '/includes')->register(); if (file_exists(__DIR__ . '/_data/config.neon')) { $configurator->addConfig(__DIR__ . '/_data/config.neon'); } $configurator->addParameters(array('dataDir' => __DIR__ . '/_data')); $container = $configurator->createContainer(); /** START TEST */ new E($container); /** END TEST */ class E { /** @var \Nette\DI\Container */ private static $container; public function __construct(\Nette\DI\Container $container) { self::$container = $container; } /**