0

最近、この小さな mvc ボイラープレートを使用して、次の MVC コードを実装しました。私は小さな構造しか必要としないので、Zend や Symfony を使用したくありませんでしたが、実際にはこれを少し拡張する必要があります。

私はPHPが初めてなので、誰かがこれを使用したか、別のビューを追加する方法を知っているかどうか疑問に思いました. レイアウトをロードするために使用するリンク バージョンが機能していますが、このレイアウト内に他のページを呼び出すことができるコンテンツ セクションを追加したいと考えています。

これについての助けは素晴らしいでしょう!

4

1 に答える 1

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 --
}

また、 tinyMvc.phpファイルも変更する必要があります。

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

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

ともかく。その「チュートリアル」全体で MVC の用語が使用されていますが、それは実際に作成されたものではありません。彼の「ビュー」は、実際には単純なテンプレートにすぎません。これは、初心者がやり方を完全に学べるものではありませんが、彼の実装もひどいものでした..単純なネイティブ php テンプレートの作成方法を学びたい場合は、この記事が非常に役立つかもしれません。

于 2012-04-17T05:19:09.880 に答える