2017-02-15 3 views
0

は、私は私のMVCで、次の構造を有する:どこのテンプレートをMVC構造体に入れるのですか?どこに定義するの?

1) app 
    1. controllers 
     Home.class.php 
    2. core 
     App.class.php 
     Controller.class.php 
    3. models 
     User.class.php 
    4. views 
     - home 
      index.php 
     .htaccess 
     init.php 
2) public 
    1. css 
    2. js 
    .htaccess 
    index.php 

今、私はあまりにもテンプレートを実装したいと思います。私は私のプロジェクトでテンプレートを使用する前に次のコードを使用しました。

<?php 
    class Template 
    { 
     private $assignedValues = array(); 
     private $tpl; 

     public function __construct($_path = '') 
     { 
      if(!empty($_path)){ 
       if(file_exists($_path)){ 
        $this->tpl = file_get_contents($_path); 
       } 
       else{ 
        echo '<b>Template Error:</b> File Inclusion Error.'; 
       } 
      } 
     } 

     public function assign($_searchString, $_replaceString) 
     { 
      if(!empty($_searchString)){ 
       $this->assignedValues[strtoupper($_searchString)] = $_replaceString; 
      } 
     } 

     public function show() 
     { 
      if(count($this->assignedValues > 0)){ 
       foreach ($this->assignedValues as $key => $value) { 
        $this->tpl = str_replace('{'.$key.'}', $value, $this->tpl); 
       } 
      } 

      echo $this->tpl; 

     } 

    } 

どこにこのクラスを置く必要がありますか?そして、どこにテンプレートが入っているフォルダがありますか?私はまたそれに定義されたデフォルトファイルを使用しました。定義ファイルを削除するにはどうすればいいですか?

ではないのはなぜ

答えて

0

アプリ/ビュー/レイアウト/あなた-template.php

それはあなたの「ビュー」の残りの部分とそれを維持するために私には理にかなっているような構造をベースそれはテンプレートです。

これはまたLaravel(phpフレームワーク)の方法です。

+0

ありがとうございました!テンプレートを扱うクラスは? (質問で与えられる) –

+0

それ以上の議論のためのもの。これを大規模なフレームワークに拡張している場合は、/ libや/ srcフォルダを/ app/libや/ app/srcなどのどこかで起動することを検討してください。私は今、Template.class.phpが/ app/coreフォルダに入ると思う。このクラスは、あなたの「コア」フレームワーク機能の一部として設計されているようです。 –

関連する問題