<?php $injector = new \Auryn\Provider(); $injector->alias('Http\\Response', 'Http\\HttpResponse'); $injector->share('Http\\HttpRequest'); $injector->define('Http\\HttpRequest', [':get' => $_GET, ':post' => $_POST, ':cookies' => $_COOKIE, ':files' => $_FILES, ':server' => $_SERVER]); $injector->alias('Http\\Request', 'Http\\HttpRequest'); $injector->share('Http\\HttpResponse'); $injector->define('Mustache_Engine', [':options' => ['loader' => new Mustache_Loader_FilesystemLoader(dirname(__DIR__) . '/templates', ['extension' => '.html'])]]); $injector->delegate('Twig_Environment', function () use($injector) { $loader = new Twig_Loader_Filesystem(dirname(__DIR__) . '/templates'); $twig = new Twig_Environment($loader); return $twig; }); $injector->alias('Example\\Template\\Renderer', 'Example\\Template\\TwigRenderer'); $injector->alias('Example\\Template\\FrontendRenderer', 'Example\\Template\\FrontendTwigRenderer'); $injector->define('Example\\Page\\FilePageReader', [':pageFolder' => __DIR__ . '/../pages']); $injector->alias('Example\\Page\\PageReader', 'Example\\Page\\FilePageReader'); $injector->share('Example\\Page\\FilePageReader'); $injector->alias('Example\\Menu\\MenuReader', 'Example\\Menu\\ArrayMenuReader'); $injector->share('Example\\Menu\\FileMenuReader'); return $injector;
<?php chdir(dirname(__DIR__)); if (php_sapi_name() === 'cli-server' && is_file(dirname(__FILE__) . $_SERVER['REQUEST_URI'])) { return false; } # setup autoloading require 'vendor/autoload.php'; # load configs $config = array_replace_recursive(require 'config-defaults.php', file_exists('config.php') ? require 'config.php' : array()); # wireup dependencies $injector = new Auryn\Provider(); foreach ($config['definitions'] as $className => $params) { $injector->define($className, $params); } # initialize locale // putenv('LC_ALL=' . $config['ui']['locale']); // setlocale(LC_ALL, $config['ui']['locale']); // bindtextdomain('messages', 'locales'); // textdomain('messages'); # handle request \Http\Resource::handle($config['resources'], array($injector, 'make'));