如何 return 将 php/html 编码到变量中

how to return code php/html into a variable

在class中我们需要在php中制作一个自己的mvc框架。 我有一种方法 returns 有两种形式的视图,第一种显示它,第二种提供内容之类的变量。 问题是,在第二种形式的 load_view 方法中,我使用了 return require_once 但这使得 html 代码和所有内容都在我不想显示的时候显示出来。

这里是 load_view 方法:

function load_view($view, $data, $async){
    if (is_array($data)){
        foreach ($data as $key => $value) {
            $$key = $value;
        }
    }

    if ($async) {
        return $tmp = require_once('aplication/view/'.$view.'.php');
    } else {
        echo require_once('aplication/view/'.$view.'.php');
    }
}

实现方法的控制器:

class user extends core_controller {

function __construct() {
   $this->data['css'] = array('public/bootstrap/css/bootstrap.min.css',
                              'public/css/login.css' );
}

function action(){
    $this->data['content'] = $this->load_view('loginForm', array(), true);
    $this->load_view('templates/template', $this->data);
}

}

观点: 第一:template

    <div class="container">
        <?php echo $content; ?>
    </div>

秒:loginForm

        <div class="row vertical-offset-100">
        <div class="col-md-4 col-md-offset-4">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">Please sign in</h3>
                </div>
                <div class="panel-body">
                    <form method="post" action="login/enter" accept-charset="UTF-8" role="form">
                    <fieldset>
                        <div class="form-group">
                            <input class="form-control" placeholder="Username" name="username" type="text" required>
                        </div>
                        <div class="form-group">
                            <input class="form-control" placeholder="Password" name="password" type="password" value="" required>
                        </div>
                        <a href="#" class="btn btn-info btn-block" role="button">Registrarme</a>
                        <input class="btn btn-lg btn-success btn-block" type="submit" value="Login">
                    </fieldset>
                    </form>
                </div>
            </div>
        </div>
    </div>

使用文件获取内容而不是 require

if ($async) {
    return file_get_contents("yourfile.php");
}

好的,我明白了,这是 load_view

的新代码
function load_view($view, $data, $async){
    if (is_array($data)){
        foreach ($data as $key => $value) {
            $$key = $value;
        }
    }

    if ($async) {
        ob_start();
        include('aplication/view/'.$view.'.php');
        $buffer = ob_get_contents();
        @ob_end_clean();
        return $buffer;
    } else {
        echo include('aplication/view/'.$view.'.php');
    }
}