SlimFrameworkでは、スクリプトの途中でエラーが出たとき以下のメッセージを画面に表示するだけで、エラーのスタックトレースなど詳細を画面に表示しません。
Slim Application Error
A website error has occurred. Sorry for the temporary inconvenience.
開発中にエラーの詳細を表示させたい場合は、以下のように\Slim\AppのコンストラクタでdisplayErrorDetailsのフラグを立てればよいです。
$app = new \Slim\App([
'settings' => [
'displayErrorDetails' => true,
],
]);
上記の設定を行ったうえで再度エラーを発生させると、以下のようにエラーの発生個所やスタックトレースが表示されるようになります。
Slim Application Error
The application could not run because of the following error:
Details
Type: ArgumentCountError
Message: Too few arguments to function Slim\Views\PhpRenderer::render(), 0 passed in C:\project\public\index.php on line 28 and at least 2 expected
File: C:\project\vendor\slim\php-view\src\PhpRenderer.php
Line: 60
Trace
#0 C:\project\public\index.php(28): Slim\Views\PhpRenderer->render()
#1 [internal function]: Closure->{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#2 C:\project\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php(41): call_user_func(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#3 C:\project\vendor\slim\slim\Slim\Route.php(344): Slim\Handlers\Strategies\RequestResponse->__invoke(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#4 C:\project\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(122): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#5 C:\project\vendor\slim\slim\Slim\Route.php(316): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#6 C:\project\vendor\slim\slim\Slim\App.php(476): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#7 C:\project\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(122): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#8 C:\project\vendor\slim\slim\Slim\App.php(370): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#9 C:\project\vendor\slim\slim\Slim\App.php(295): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#10 C:\project\public\index.php(47): Slim\App->run()
#11 {main}
こちらもおススメ