/** * @covers Jgut\Slim\Controller\Resolver::resolve */ public function testDefaultRegistration() { $controllers = ['Jgut\\Slim\\Controller\\Base']; $container = new Container(); foreach (Resolver::resolve($controllers) as $controller => $callback) { $container[$controller] = $callback; } $this->assertInstanceOf('Jgut\\Slim\\Controller\\Base', $container->get('Jgut\\Slim\\Controller\\Base')); }
/** * @Author: mark * @Date: 2015-12-18 15:14:04 * @Last Modified by: mark * @Last Modified time: 2016-01-05 11:50:11 */ use Jgut\Slim\Controller\Resolver; $config = Symfony\Component\Yaml\Yaml::parse(file_get_contents(__DIR__ . '/config/config.yml')); $container = new Slim\Container(); $dir = __DIR__ . '/../src/App'; $_controllers = array_diff(scandir($dir), ['.', '..', 'Base.php']); foreach ($_controllers as $controller) { $controllers[] = '\\App\\' . str_replace('.php', '', $controller); } foreach (Resolver::resolve($controllers) as $controller => $callback) { $container[$controller] = $callback; } // Templates $container['view'] = function ($c) use($config) { $view = new Slim\Views\Twig($config['paths']['template'], []); $view->addExtension(new Slim\Views\TwigExtension($c['router'], $c['request']->getUri())); return $view; }; // Logging $container['log'] = function ($c) use($config) { $logger = new \Monolog\Logger('application'); $logger->pushHandler(new \Monolog\Handler\StreamHandler($config['paths']['log'], \Monolog\Logger::DEBUG)); $handler = $logger->getHandlers(); $handler[0]->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, true)); return $logger;