return $response; })->setArgument('name', 'World!'); $app->get('/stay/{name}', function ($request, $response, $args) { $response->write("Hello, " . $args['name']); return $response; })->setArgument('name', 'World!'); $app->get('/hello/[{name}]', function ($request, $response, $args) { $response->write("Hello, " . $args['name']); return $response; })->setArgument('name', 'World!'); /// Custom 404 error $app->notFound(function () use($app) { $mediaType = $app->request->getMediaType(); $isAPI = (bool) preg_match('|^/api/v.*$|', $app->request->getPath()); if ('application/json' === $mediaType || true === $isAPI) { $app->response->headers->set('Content-Type', 'application/json'); echo json_encode(array('code' => 404, 'message' => 'Not found'), JSON_PRETTY_PRINT); } else { echo '<html> <head><title>404 Page Not Found</title></head> <body><h1>404 Page Not Found</h1><p>The page you are looking for could not be found.</p></body></html>'; } }); /** * Step 4: Run the Slim application * * This method should be called last. This executes the Slim application * and returns the HTTP response to the HTTP client. */ $app->run();