はじめに
2018年9月にSlimの3.11がリリースされました。私がslimフレームワークを採用して開発を始めた時のバージョンは3.9.2でした。3.9.2のリリースが2017年の11月、3.10.0が2018年の4月。3.9.2から2回のリリースがありました。
3.10.0の変更
3.10.0の変更一覧は以下の通りです。
一番気になったのはredirectの追加です。
今までslimでリダイレクトしようと思ったら、
$app->get('/route' ...);
して $response->withHeader('Location', ...);
するしかなかったのですが、
$app->redirect('/route', '/redirect/to');
といった書き方ができるようになったみたいです。これは使いたいですが、何か処理をした上でリダイレクトさせたい場合もありそうなので、$response->withRedirect('/path');
とかはできるようにならないのかな。
3.11.0 の変更
3.11.0の変更は以下の通りです。
地味に便利なのがStatusCodeクラスの追加。
今までレスポンスを返すためには以下のようにする必要がありました。
$response->withJson(['data' => 'hoge'], 200);
StatusCodeがマジックナンバーになってしまっています。まあ困ることはないでしょうけど、パット見て200が何を指しているかわからないですよね。
$response->withJson( ['data' => 'hoge'], \Slim\Http\StatusCode::OK );
非常にわかりやすくなりますよね。
このあたりの機能を使いたいのでSlim 3.11にしてみようかと思います。