はじめに
こんにちは。新卒1年目の岡崎です。エキサイトホールディングス 2023 advent calendar 1日目を担当させていただきます。
BEAR.Saturdayでの開発で苦戦しました。
今回の備忘録では、BEAR.Saturdayで画面を作るために必要な三つのコンポーネントの概要をまとめます。
BEAR.Saturdayとは
BEAR.Saturdayとは、PHPのWebアプリケーションフレームワークです。さらに詳しく知りたい人は、公式ドキュメントをご覧ください。
注意事項
- BEAR.SaturdayはサポートされているPHPのバージョンが7.4までなので、今後の新規利用は非推奨です。
- BEAR.Saturdayは既にサポートが終了しています。BEAR.Saturdayの後続として、BEAR.Sundayがリリースされています。
BEAR.Saturdayの概要
クライアントがURLでアクセスし、画面に任意のデータが表示されるまでの流れは、以下のようになります。
- クライアント側がURLを使用して、ページにアクセスします。
- リソースがデータを取得し、ページにそのデータを返します。
- ページがビューにデータを渡し、ビューの内容が画面に表示されます。
BEAR.Saturdayでは、ページ・リソース・ビューの3つのコンポーネントが使われます。
これらの役割について、詳しく紹介していきます。
ページ
ページは、Page.phpが親クラスです。onInject
、onInit
、onOutput
の三つの要素で構成されています。
class Page_Sample_Index extends BEAR_PAGE { public function onInject() { // 処理が記述される } public function onInit(array $args) { // 処理が記述される } public function onOutput() { $this->display(); } } App_Main::run('Page_Sample_Index');
実行順番は、onInject
→ onInit
→ onOutput
の順で実行されていきます。
onInject
依存関係の注入や、クエリパラメーターの受け取りを行います。
onInit
リソースからデータを取得したり、取得したデータを加工したりします。
onOutput
ビューにデータを渡します。
リソース
リソースは、Ro.phpが親クラスです。外部のAPIやDBと繋いで、データの取得・作成・削除・更新を行います。
リソースは二つの要素で構成しますが、取得・作成・削除・更新でそれぞれ要素が異なります。
取得の場合
取得の場合は、onInject
とonRead
で構成します。onRead
は、取得処理を実装します。
class Sample_List extends BEAR_Ro { public function onInject() { // 処理が記述される } public function onRead($values) { // 処理が記述される } }
作成の場合
作成の場合は、onInject
とonCreate
で構成します。onCreate
は、作成処理を実装します。
class Sample_Create extends BEAR_Ro { public function onInject() { // 処理が記述される } public function onCreate($values) { // 処理が記述される } }
削除の場合
削除の場合は、onInject
とonDelete
で構成します。onDelete
は、削除処理を実装します。
class Sample_Delete extends BEAR_Ro { public function onInject() { // 処理が記述される } public function onDelete($values) { // 処理が記述される } }
更新の場合
更新の場合は、onInject
とonUpdate
で構成します。onUpdate
は、更新処理を実装します。
class Sample_Update extends BEAR_Ro { public function onInject() { // 処理が記述される } public function onUpdate($values) { // 処理が記述される } }
ビュー
ビューでは、SmartyというPHPのテンプレートエンジンを使います。Smartyについて詳しく知りたい人は、公式ドキュメントをご覧ください。
ここではページから渡された値の表示を使って、画面上に表示を行います。
最後に
今回は、BEAR.Saturdayで画面を作るために必要な三つのコンポーネントの概要をざっくりと紹介しました。
ここまで読んでいただきありがとうございました。