私はオブジェクト指向の PHP を見始めています。今日まで、私は手続き型アプローチで多数の PHP システムを開発してきましたが、前進する時が来たと思います。
私が現在取り組んでいるプロジェクトの 1 つは、WordPress のグレードとハンディキャップの計算プラグインです。つまり、プラグインは、アップロードされた CSV ファイルから卓球選手の結果を取得し、ハンディキャップ トーナメントの成績を計算します。
私の卓球クラブのウェブサイトは WP を使用しているため、WordPress を使用しています。それが機能する場合、他のクラブ/リーグに提供できる可能性があり、彼らもプラグインをインストールして、本格的なグレードとハンディキャップにアクセスできるようになります。システム。
WordPress 以外では、MVC パターンを使用して OO-PHP でそのようなシステムを開発できると確信しています。おそらく次のようになります。
コントローラ
- モデルのインスタンスを作成する
- 「ナビゲーション」、つまり GET/POST リクエストを処理し、それに応じてどのページ テンプレートを表示するかを決定します。
モデル
- ファイルのアップロードと保存に対処する
- データベースからの情報の更新と選択
- プレイヤーの成績を計算するためのホスト メカニズム
意見
- 管理ページ、つまり設定とファイルのアップロード
- 選手の成績とハンディキャップを表示する成績ページ
- 特定のユーザーが個々のプレイヤーの結果を確認できる結果ページ (主にデバッグ目的)
過去 30 分ほどでこのパターンを学んだだけなので、間違っている場合は訂正してください。ただし、私の論理では、このシステムを作成するための真の MVC アプローチです。
ただし、WordPress プラグインを方程式に組み込むと、次の質問に苦戦し始めます。
- WP 以外のシステムでは、CSS スタイルは単にビューの PHP ページに含まれ、それを
include
コントローラーに組み込みます。ただし、WordPress では、そのようには機能しません。CSS スタイルをそのように使用することはできませんenqueue
。CSS ファイルをエンキューする関数はどこでホストしますか? - 誰かが最初にプラグインをアクティブ化するとき、WordPress 関数を使用して適切なデータベース テーブルを作成する必要があります。これは、 a
hook
、つまり aから実行する必要がありますregister_activation_hook
。これらの関数をどこでホストしますか? それらを Controller に入れるのは理にかなっているように思えますが、同時に、 Controller はできるだけきれいで読みやすいように保つ必要があるのではないかと思います。 - 上記の質問と同様に、コマンド
add_menu_page
とadd_submenu_page
コマンドを使用して WordPress 管理ページを作成する必要もあります。これらの機能はどこでホストしますか?
これらの質問はすべて同じ答えを持っている可能性があり、それがセマンティクスにすぎないことはわかっていますが、オブジェクト指向 PHP の MVC パターンを真に理解できるように、早い段階でこれを理解しようとしています。
前もって感謝します、