Dietcubeを試す

Dietcubeを試す

先週のPHP BLT #2で@sotarokさんがリアルタイム公開したDietcubeというPHPフレームワークを試してみる。 Hello worldが表示されるところまで。

Dietcube

https://github.com/mercari/dietcube

必要なソフトウェア

インストールして単純な動作をさせるだけであれば以下のソフトウェだけでOK。

インストール

インストールは以下のコマンドだけでOK (最低限の環境を私作のリポジトリからcloneするので速攻hello worldまでできる)

作者の@sotarokさんに確認したら、create projectする感じのコマンドは鋭意開発中とのことで、それができればそっちを使うように。

$ git clone git@github.com:bravewood/dietcube-sample-app.git
$ cd dietcube-sample-app
$ composer install

実行する

phpビルトインサーバーを以下のように起動する。apacheとか必要ない。

$ php -S localhost:8001 -t webroot/

動作を見る

ブラウザで以下のURLを開く。

http://localhost:8001/

簡単な説明

ディレクトリ構成は以下のような感じ

.
├── app
│   ├── Application.php
│   ├── Controller
│   │   └── HelloController.php
│   ├── Route.php
│   ├── config
│   │   └── config.php
│   └── template
│       └── hello
│           └── index.html.twig
├── tmp
└── webroot
    └── index.php

webroot/index.phpがフロントコントローラで、

app/ディレクトリの下にコードを書いてく。

app/Route.phpがRoute設定で、

app/Controllerの下にコントローラ/アクションを書いていく。

ここにソースコードあるので、見たい方はどうぞ。

https://github.com/bravewood/dietcube-sample-app

感想

すごくシンプルに作られていますが、モダンフレームワークを触ったことがある人ならディレクトリ構成とかはなじみのあるような感じで親しみやすいと思います。

Symfonyリリースプロセスの改善

以下の記事は、Improving the Symfony Release Process (Symfony Blog) の訳です。


おそらくSymfonyリリースプロセスはSymfonyプロジェクトにおける最大の売りの一つでしょう。 予想可能で透明なプロセスのおかげで、企業は何年も前からSymfonyの統合を計画することができます。

2.xブランチの最後のマイナーバージョンで、最新のリリースであるSymfony2.8は我々にさらなるプロセスの調整を考えさせました。 そのため、SymfonyCon パリ 2015 キーノートスピーチにおいて、Fabien Potencierは新しいSymfonyリリースプロセスを発表したのです。

これらはそこで紹介された主な変更点であり、バージョン3.0から適用されます:

  • すべてのメジャーバージョン(3.x, 4.x)は5個のマイナーバージョン(X.0, X.1, X.2, X.3 and X.4)を発行します
  • すべてのマイナーバージョンは standard versions(8か月のサポート)ですが、最後(X.4) はlong term support version(36か月のサポート)となります
  • メジャーバージョンは直前の最後のマイナーバージョンと同時にリリースされます(例えば、4.0.0は3.4.0と同時にリリースされます)

我々のdeprecation ポリシーによってこのリリースプロセスは可能となり、異なるSymfonyバージョン同士でのスムーズな移行を可能にしました。

この新しいリリースプロセスが意味するところは、Symfony4は2017年11月にリリースされる予定という事です。 すべての過去、現在、未来のSymfonyバージョンは更新されたSymfony version checkerで確認してください。 同様に、無料で我々の通知サービスを購読することですべてのSymfonyリリースメールを受け取ることが可能となっております。


訳終わり。

3.0への移行タイミングで少しごたごたした感は否めなかったけど、着実に2.8という3.0への移行パスを用意し、こうしてリリースプロセスも改善するというのは素晴らしいと思いました。

現場からは以上です。