猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

PHPのSlim Framework 3.11 がリリースされ、 StatusCodeクラスが追加されていた

f:id:yoshiki_utakata:20190111231914p:plain

はじめに

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の変更一覧は以下の通りです。

github.com

一番気になったのはredirectの追加です。

github.com

今までslimでリダイレクトしようと思ったら、 $app->get('/route' ...); して $response->withHeader('Location', ...);するしかなかったのですが、

$app->redirect('/route', '/redirect/to');

といった書き方ができるようになったみたいです。これは使いたいですが、何か処理をした上でリダイレクトさせたい場合もありそうなので、$response->withRedirect('/path'); とかはできるようにならないのかな。

3.11.0 の変更

3.11.0の変更は以下の通りです。

github.com

地味に便利なのがStatusCodeクラスの追加。

github.com

今までレスポンスを返すためには以下のようにする必要がありました。

$response->withJson(['data' => 'hoge'], 200);

StatusCodeがマジックナンバーになってしまっています。まあ困ることはないでしょうけど、パット見て200が何を指しているかわからないですよね。

$response->withJson(
  ['data' => 'hoge'],
  \Slim\Http\StatusCode::OK
);

非常にわかりやすくなりますよね。

このあたりの機能を使いたいのでSlim 3.11にしてみようかと思います。