/** * */ public static function init() { $builder = new \DI\ContainerBuilder(); $builder->setDefinitionCache(new ApcCache()); $builder->writeProxiesToFile(true, 'tmp/proxies'); self::$container = $builder->build(); self::$container->set('routeCollection', new RouteCollection()); }
<?php $builder = new \DI\ContainerBuilder(); $builder->addDefinitions(__DIR__ . '/config-test3.php'); $builder->setDefinitionCache(new \Doctrine\Common\Cache\ArrayCache()); $container = $builder->build(); //trigger autoloader $j = $container->get('J'); unset($j); $t1 = microtime(true); for ($i = 0; $i < 10000; $i++) { $j = $container->get('J'); } $t2 = microtime(true); $results = ['time' => $t2 - $t1, 'files' => count(get_included_files()), 'memory' => memory_get_peak_usage() / 1024 / 1024]; echo json_encode($results);
$builder = new \DI\ContainerBuilder(); $builder->useAnnotations(true); if (\Fraym\Core::ENV_STAGING === ENV || \Fraym\Core::ENV_PRODUCTION === ENV) { error_reporting(-1); ini_set("display_errors", 0); $builder->writeProxiesToFile(true, CACHE_DI_PATH); define('GLOBAL_CACHING_ENABLED', true); $apcEnabled = (extension_loaded('apc') || extension_loaded('apcu')) && ini_get('apc.enabled'); } else { error_reporting(-1); ini_set("display_errors", 1); define('GLOBAL_CACHING_ENABLED', false); $apcEnabled = false; } define('APC_ENABLED', $apcEnabled); if (defined('IMAGE_PROCESSOR') && IMAGE_PROCESSOR === 'Imagick') { $builder->addDefinitions(['Imagine' => DI\object('Imagine\\Imagick\\Imagine')]); } elseif (defined('IMAGE_PROCESSOR') && IMAGE_PROCESSOR === 'Gmagick') { $builder->addDefinitions(['Imagine' => DI\object('Imagine\\Gmagick\\Imagine')]); } else { $builder->addDefinitions(['Imagine' => DI\object('Imagine\\Gd\\Imagine')]); } $builder->addDefinitions(['db.options' => array('driver' => DB_DRIVER, 'user' => DB_USER, 'password' => DB_PASS, 'host' => DB_HOST, 'dbname' => DB_NAME, 'charset' => DB_CHARSET)]); if (APC_ENABLED) { $cache = new Doctrine\Common\Cache\ApcuCache(); } else { $cache = new Doctrine\Common\Cache\ArrayCache(); } $cache->setNamespace('Fraym_instance_' . FRAYM_INSTANCE); $builder->setDefinitionCache($cache); $diContainer = $builder->build();