WebエンジニアのLoL日記

LoLをプレイしたりLJLの試合を見たりするのが好きなエンジニア。LoLのイベントやパッチノートなど気になった点を記事にしたり、LJLについの記事をかいたりしています。某社でWeb系のエンジニアとして働いているので、技術系の記事もたまに書きます。コンタクトを取りたい場合はtwitterまで。

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にしてみようかと思います。