$app->register(new Silex\Provider\TranslationServiceProvider()); $app->register(new Silex\Provider\MonologServiceProvider(), array('monolog.logfile' => __DIR__ . '/../var/logs/microcms.log', 'monolog.name' => 'MicroCMS', 'monolog.level' => $app['monolog.level'])); $app->register(new Silex\Provider\ServiceControllerServiceProvider()); if (isset($app['debug']) && $app['debug']) { $app->register(new Silex\Provider\HttpFragmentServiceProvider()); $app->register(new Silex\Provider\WebProfilerServiceProvider(), array('profiler.cache_dir' => __DIR__ . '/../var/cache/profiler')); } // Register services $app['dao.article'] = $app->share(function ($app) { return new MicroCMS\DAO\ArticleDAO($app['db']); }); $app['dao.user'] = $app->share(function ($app) { return new MicroCMS\DAO\UserDAO($app['db']); }); $app['dao.comment'] = $app->share(function ($app) { $commentDAO = new MicroCMS\DAO\CommentDAO($app['db']); $commentDAO->setArticleDAO($app['dao.article']); $commentDAO->setUserDAO($app['dao.user']); return $commentDAO; }); // Register error handler $app->error(function (\Exception $e, $code) use($app) { switch ($code) { case 403: $message = 'Access denied.'; break; case 404: $message = 'The requested resource could not be found.'; break; default: $message = "Something went wrong.";
<?php use Symfony\Component\Debug\ErrorHandler; use Symfony\Component\Debug\ExceptionHandler; // Register global error and exception handlers ErrorHandler::register(); ExceptionHandler::register(); // Register service providers $app->register(new Silex\Provider\DoctrineServiceProvider()); $app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/../views')); $app->register(new Silex\Provider\UrlGeneratorServiceProvider()); // Register services $app['dao.article'] = $app->share(function ($app) { return new MicroCMS\DAO\ArticleDAO($app['db']); }); $app['dao.comment'] = $app->share(function ($app) { $commentDAO = new MicroCMS\DAO\CommentDAO($app['db']); $commentDAO->setArticleDAO($app['dao.article']); return $commentDAO; });