Php模板 - 让HTML正确

时间:2013-10-03 00:42:39

标签: php html oop templating

我正在开发一个网络应用程序,我遇到了模板化问题。问题涉及在php对象中生成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。有解决方案可以解决这个问题吗?

0 个答案:

没有答案