Version 0.9 (MIT License)
— y2sunlight 2020-03-24
本章では筆者の自作フレームワークであるApricotの製作過程を紹介します。
Apricotは必要最小限の外部ライブラリ(パッケージ)だけを集めた「ステイプルワーク」です。それはアプリケーションによりステイプルワーク自体のカスタマイズを前提としています。ライブラリに含まれていない機能(構成管理、イベントハンドラ、パイプラインやレスポンス処理など)は自作しますが、PHPは本来Webアプリケーションの為の言語なので、その特性を最大限に利用しApricotには極力軽量なコードを実装します。また、ライブラリ間の結合性を「疎」にすることで後で他のライブラリに変更できるように配慮します。
本編では、Apricotの製作過程を示します。Apricotにはユーザ認証とユーザアカウントの編集機能だけが実装されています。手順通りに行えばちょっとしたフレームワークが完成します。「ちょっとしたアプリ」には「ちょっとしたフレームワーク」の方が似合っています。一度作ってしまえば、後の修正は自由自在です。
尚、Apricot (α版)のEclipseによるプロジェクト作成方法と、使用パッケージのComposeによるインストール方法等については、「定番ライブラリ」を参照して下さい。
開発環境
使用パッケージ
機能 | パッケージ名 | Vsersion |
---|---|---|
環境変数 | phpdotenv | 4.1 |
ログ出力 | monolog | 2.0 |
ORマッパー | idiorm | 1.5 |
テンプレートエンジン | bladeone | 3.37 |
リクエストルーター | FastRoute | 1.3 |
DIコンテナー | League/Container | 3.3 |
バリデーター | Valitron | 1.4 |
エラーハンドラー | Whoops | 2.7 |
デバッグ出力 | php-debugbar | 1.16 |
Apricot(V1.0) published on GitHub and Apricot(0.9) published in this site are different versions.
GitHub公開しているApricot(v1.0)と本編で掲載しているApricot(v0.9)は異なったバージョンです。