私は自分のサイトにオブジェクト指向のアプローチを適用しようとしています。
私は次のオブジェクトを持っています:
- エラー:すべてのエラーを処理し、致命的なエラーのアプリケーションを強制終了します
- データベース:データベース接続、クエリなどを処理します
- cookie:cookieを作成して読み取ります
- セッション:セッション変数を設定および取得し、セッションをほぼ処理します
- ユーザー:すべてのユーザー情報を処理します(彼は接続されていますか?彼のIPはわかっていますか?彼のIDは何ですか?など)
- ページ:上記のすべてのオブジェクトを認識し、get変数に基づいて、ユーザーに表示する必要があるものを決定します
通常、各オブジェクトにはその上のオブジェクトが渡されます。
私がやろうとしているのは、ページ全体をレンダリングするためのpage-> render()関数を持っていることです。
ヘッダー配列、フッター配列、メタタグ配列、およびスクリプト配列があり、これらはレンダリング関数に順番に含まれています。関数は次のようになります。
public function render(){
// to simplify im excluding meta tag and script arrays
foreach($this->headers as $header){
include $header;
}
//page sontents here
foreach($this->footers as $footer){
include $footer;
}
私の問題は、ビューを含めるときではなく、レンダリング関数が呼び出されたときにデータベースデータがレンダリングされるように、データベースデータをどのようにレンダリングする必要があるかです。
たとえば、次のコードがあるとします。
$result = mysql_query("SELECT SOME ENTRIES FROM DB");
while($row = mysql_fetch_assoc){
include "views/show_the_entry.php";
}
page-> render()関数が呼び出されたときにそれらをレンダリングするにはどうすればよいですか?
私は全体が間違っていると思っていますか?もしそうなら、誰かがそのようなOO実装の哲学に関するリンクまたはいくつかの情報を提供できますか?