In Slim 2, I can over write the default 404 page easily,
// @ref: http://help.slimframework.com/discussions/problems/4400-templatespath-doesnt-change
$app->notFound(function () use ($app) {
$view = $app->view();
$view->setTemplatesDirectory('./public/template/');
$app->render('404.html');
});
But in Slim 3,
// ref: http://www.slimframework.com/docs/handlers/not-found.html
//Override the default Not Found Handler
$container['notFoundHandler'] = function ($c) {
return function ($request, $response) use ($c) {
return $c['response']
->withStatus(404)
->withHeader('Content-Type', 'text/html')
->write('Page not found');
};
};
How can I add my 404 template ('404.html') in?
Option 1:
use Twig (or any other templating engine)
Option 2:
Create your container:
Construct the
\Slim\App
object using the$container
and run: