[PHP]高品質コンポーネント群、Aura for PHP
こんにちは、ナカエです。今日はAuraについての紹介です
Aura for PHP
AuraはPHPの良質なコンポーネント群です。DIやPDO拡張、SQLクエリビルダー、バリデーション、フォームなどの利用頻度の高いコンポーネントが揃っています。
Symfony Componentと似た立ち位置と言えるでしょう。
重量級のものが多いSymfony Componentに比べ軽量で依存関係が少ないのが特徴です。 コードを読んでいても、疎結合・クリーン・小クラス主義という印象を抱きます。
Aura.Web_Project というWebフレームワークのリポジトリもありますが、 これはAuraのコンポーネントを使って作ったWebフレームワークのサンプル、 というような位置付けです。
先日紹介したRadarもAuraのコンポーネントを利用したフレームワークです。
バージョン2系から3系へ
Auraのコンポーネント群は現在、バージョン3系が徐々に正式リリースされつつああります。
※コンポーネント単位なので2系のコンポーネントと3系の共存ももちろん可能です。
Auraの根幹とも言えるAura.Di、そしてPSR-7 HTTP messagesに対応したAura.Routerはすでにbetaが取れています。
また、Radarでも利用されていたAura.PayloadとAura.Payload_Interfaceは3系からの新規追加です。ドメイン(or モデル層)の処理の結果の意味を明示的に表すためのパッケージです。
いつ使う?
Aura2系のパッケージのドキュメントは有志により翻訳され、日本語訳が公開されています。
パッケージを組み合わせて独自のフレームワークを新しく組んだり、独自フレームワークや既存のコードの一部だけ入れ替えたり、という機会があれば非常にお勧めです。
フルスタックフレームワークに慣れていると、最初は少し戸惑うかもしれません。まずはAura.Web_ProjectやRadarを触ってみてAuraの特徴や癖をつかむのもと良いと思います。Friends of AuraのAuraを利用したブログの例のコードも参考になります。
個人的にはAura.Diにさえ慣れればあとは分かりやすいかなという印象です。