1

例如,在 magento 中,他们将 php 与 phtml 分开。

我也做同样的事情。但我无法弄清楚一件事,那就是:

当我有这个 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 回答