自作のルーティング DotRouter を開発したので簡単に紹介します。
Composer のオートロード環境前提で紹介していますが、ネームスペースに対応したオートローダーを自前で用意いただければそれでも動きます。自作オートローダーに興味のある方は、以下の記事も一緒に確認してみてください。
最後に DotRouter のソースコードを置いていますので、ルーティング作りの参考にしていただければ幸いです。
導入
DotRouter は PHP 7.4 以上に対応します。現時点 (2020/02/06) では一番最新のバージョンとなっていますのでご注意ください。
まず Composer から DotRouter をインストールし読み込みます
composer require coccoto/dotrouter
ここまでで環境構築は完了です。ルーティングの準備に移ります。
ルーティングマップの作成
最初にルーティングマップを作成します。DotRouter は指定のパラメーターにアクセスした時、コントローラーが起動しメソッドを実行します。
パスパラメーターの利用
パラメーターの先頭文字をコロンにすることでパスパラメーターとして扱えます。パスパラメーターは複数設置も可能です。
ネームスペースの設定
ルーティングから読込対象となるファイルのネームスペースを DotRouter に伝えます。
Composer の autoload にもネームスペースを設定します。
実行するクラスを作成する
ルーティングで実行対象となるファイルを作成します。ここでは、以下のルールで動作するファイルを作ります。
CatController の中に foodMethod を用意します。パスパラメーターはコンストラクターの引数から取得できます。
使ってみる
これで準備完了です。先ほど用意した $map と $namespace を DotRouter に渡してルーティングを起動します。
ルーティングマップに従って指定のクラスメソッドが実行されるようになるはずです。
紹介は以上になります。最後に DotRouter のソースコード置いておきます。持ち出し自由です。
ソースコード
受け取ったリクエストを処理するクラスです。
ルーティング処理するクラスです。
コメント
コメントを投稿