2012-04-17 8 views
0

私は最近このtiny mvc boilerplateを使用して次のMVCコードを実装しました。 私はZendやSymfonyを使いたくないのですが、私は小さな構造しか必要としませんが、実際にはこれをわずかに使い果たす必要があります。PHP MVC - その他の追加

私はPHPを初めて使っているので、誰かがこれを使用しているのか、別のビューを追加する方法を知っているのだろうかと思いました。レイアウトを読み込むために使用するリンクバージョンがありますが、このレイアウト内に他のページを呼び出すことができるコンテンツセクションを追加したいと思います。

これについての助けがあれば助かります。

+0

そのビューから呼び出しますか?または、テンプレートを使用してください。 – Michelle

+0

このフレームワークは現実の世界で使用するにはあまりにも基本的なものなので、スクリプトのルートを制御する必要があります.1つのクラスにハードコードされているので、単にcontroller.phpを呼び出すこともできますMVC ...このチュートリアルを見て、ソースファイルから学ぶことをお勧めします。 http://phpro.org/tutorials/Model-View-Controller-MVC.html –

+0

助けをいただきありがとうございます。私が使った例があまりにも基本的すぎる気がした。 – TLD

答えて

0

このビデオは恐ろしいです。その既存の例では

、あなたは(何も本当にビューが何であるかではない)別の「ビュー」を追加したい場合、あなたはコントローラ内の別の方法が必要になります。

class Controller 
{ 
    // -- snip -- 
    // you need to change the constructor too 
    public function __construct() 
    { 
     $this->load = new Load; 
     $this->model = new Model; 
    } 

    // -- snip -- 

    public function gallery() 
    { 
     $list = $this->model->get_urls(); 
     if (count($list) > 0) 
     { 
      $this->load->view('gallery.php' , $list); 
     } 
     else 
     { 
      $this->load->view('error.php', array(
       'source' => 'gallery', 
       'reason' => 'empty' 
      )); 
     } 
    } 

    // -- snip -- 
} 

をそして、あなたはまたに必要があるだろうとにかく

$c = new Controller; 
$action = 'home'; 
if (isset($_GET['page'])) 
{ 
    $action = $_GET['page']; 
} 

if (method_exists($c, $action)) 
{ 
    $c->{$action}(); 
} 
else 
{ 
    echo 'no such action !'; 
} 

tinyMvc.phpファイルを変更します。その「チュートリアル」全体で、MVCの用語が使用されています。彼の "ビュー"は実際には単純なテンプレートです。どのように初心者のためのやり方を学ぶことは完全に物事ではありませんが、彼の実装も吸い込ま..単純なネイティブのPHPテンプレートを作成する方法を学ぶ場合は、this article非常に有用見つけることがあります。

+0

ありがとうございました。私はそれ以来、上記のテンプレートを削除し、別のテンプレートを使用することに決めました。私は現在、[PHPro](phpro.org/tutorials/Model-View-Controller-MVC.html)と[Symfony2](http://symfony.com)の間で決定しています。私は[Codeigniter](http://codeigniter.com/)が初心者には良いと聞きましたが、私はこのような基本的なものを将来使用することを後悔するのだろうかと思います。 – TLD

+0

@DVL、CodeIgniter(CakePHPと一緒に)は、そこの最悪のPHPフレームワークの1つです。可能な限り避けてください。 symfony2はかなり受け入れられますが、あなたのレベルの誰かにとっては複雑すぎるかもしれません。 MVCを掘り下げようとするのではなく、OOPについてもっと学ぶべきです。その法則は、よく書かれたオブジェクト指向のコードに関連しています。 –

+0

まあ、私は完了するためのプロジェクトを持っているので、本当に立ち往生したいです。私はすぐにそれを拾う必要があるので、私は適切なツールを使用して確認したい。 PHPro MVCをお勧めしますか?素敵で軽量なので、必要に応じてラインの下に物を追加することができます。 – TLD

関連する問題