2012-03-21 24 views
1

アーキテクチャMVCでコンテンツを表示するにはどうすればよいですか?実際に私は次のようにやっている:mvcでメニューを表示する最も良い方法は何ですか?

<?php 
class view { 

    function __construct(){ 

    } 

    function __set($var,$value){ 
     $this->var = $value; 
    } 
    function __get($var){ 
     return $this->var; 
    } 
    function render($render, $noinclude = false){ 
     if($noinclude == true){ 
      require ("view/template/".$render.".php");    
     } 
     else{ 
      require ("view/template/headerTPL.html"); 
      require ("view/template/bannerTPL.html"); 
      require ("view/template/menuTPL.html"); 
      require ("view/template/".$render.".php"); 
      require ("view/template/footerTPL.html"); 
     } 
    } 
    function show($value){ 
     $this->value = $value; 
    } 
    function alert($value){ 
     echo "<script>alert('{$value}')</script>"; 
    } 
} 
?> 

<div id="conteudo"> 
<?php require $this->menu; ?> 
</div> 

これは私のrender.php/\

あるTPLを含むように、それは間違っていますか?私はどうすればいいのですか?

+0

あなたはすでにhttp://stackoverflow.com/questions/9780247/mvc-problems-problems-with-viewsとhttp://stackoverflow.com/questions/9760250/how-the-bestway- make-a-menu-with-php-mvc ..スパムを止める。 –

+0

ああ、申し訳ありませんが、私はこのトピックをもう見ていませんでした。 u – user1258260

+0

に感謝します。彼らはすべてここにいるはずです:http://stackoverflow.com/users/1258260/user1258260?tab=questions –

答えて

1

あなたのHTMLコードをテンプレートファイルに分けることは実を結んでおり、良い方法です。私はこのファイルの一番下にいくつかのHTMLがあります。私はあなたもテンプレートにそれを移動することをお勧めします。

一般的なガイドラインと同じように、プログラム(コントローラ)のメインロジックには決してHTMLを作成しないでください。純粋でフォーマットされていない状態で、データ(モデル)をテンプレート(ビュー)に渡す必要があります。テンプレートコードはそれを適切にフォーマットします。

MVCプログラムの開発をスピードアップしたい場合は、CodeIgniterフレームワークをチェックアウトすることをお勧めします。 http://codeigniter.com/

+0

よろしくお願いいたします。 – user1258260

+0

ビューはテンプレートではなく、モデルはORMではありません。読んで作られたフレームワークをお勧めしたら、PHP4スタイルのコードを使って書かれたMVCの変態ではなく、グローバルな状態に依存するものを提案するべきでしょう。 –

+0

@tereško経験の少ない人には簡単な言葉を使ってください。 PHP/HTML/CSSスイート全体は、MVCの巨大なハッキーな逸話です。 –

関連する問題