1

たとえば、magento では、php が phtml から分離されています。

私も同じことをします。しかし、私は1つのことを理解できません。それは次のとおりです。

このphpスクリプトがある場合:

class aclass extends main{
public function redirect(){
    require_once($this->frontend_folder . $this->admin_folder . "beheer/edit_account.phtml");
}

public function nav_menu(){
    return "<nav>some nav menu things in here</nav>";
}

および「ビュー」phtml スクリプト:

<!doctype html>
<html>
<head>
</head>
<body>  
    <div id="wrap">
        <?php
           echo $this->nav_menu();
        ?>
    </div>
</html>

「$this」は機能しませんが、どうすればこれを機能させることができますか?

4

1 に答える 1

2

ビューでクラスをインスタンス化する必要があります。

<!doctype html>
<html>
<head>
</head>
<body>  
    <div id="wrap">
        <?php
           $c = new aclass; // instantiate the class
           echo $c->nav_menu();  //  run the function from the class
           $c = null; //  null the variable, maybe help garbage collection...
        ?>
    </div>
</html>

これは最適な使用方法ではありませんが、アイデアが明確であることを願っています。

編集:これは単純なソリューションです。アーキテクチャに応じて、多くのことができます。最も単純な形式では、ビューの上部でクラスをインスタンス化することを検討する必要があります。その後、ビュー全体で割り当てたハンドルでクラスを参照できます。

于 2013-10-16T12:58:36.067 に答える