0

我正在开发一个网络应用程序,但我遇到了模板问题。问题涉及在 php 对象中生成 o html 代码。代码如下:

<?php class abcHtml {
    function prepare() { ?>

        <!DOCTYPE html>
        <html>
        <head>
            <?php echo $this->meta; ?>
        </head>
        <body>
        <div id="bg">
            <div id="container_wrapper">
                <?php echo $this->cont; ?>
            </div>
        </div>
        </body>
        </html>

<?php }} ?>

目标是拥有一个尽可能干净的 html 代码的 php 文件(不想使用任何框架)。

<?php

class abc extends abcHtml
{
    protected $meta;
    protected $cont;

    public function render(){
        return parent::prepare();
    }

    public function setMeta($meta){
        $this->meta = $meta;
        return $this;
}

?>

此类继承 abcHtml 以添加不同的 html 模块。问题是,当调用 render() 时,返回的 html 代码按正确的顺序注释,$meta 和 $cont 变量中的 html 代码出现在 prepare 函数内部的 html 之前。

例如:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="public/css/base_style.css"/>
<!DOCTYPE html>
        <html>
        <head>
        </head>
        <body>
        <div id="bg">
            <div id="container_wrapper">
            </div>
        </div>
        </body>
        </html> 

这个问题显然意味着php是先运行php代码,然后附加html。有解决这个问题的方法吗?

4

0 回答 0