3.6 让布局更完整和符合标准

现在,让我们在Bootstrap中添加一些资源,然后在layout视图模板中来使用。打开application/Bootstrap.php文件,在其中创建一个名为_initView()的方法,并添加以下几行代码:

        application/Bootstap.php
        <?php
        class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
        {

            protected function _initView()
            {
                $view = new Zend_View();
                $view->doctype('XHTML1_STRICT');
                $view->headTitle('可幻教育');

                return $view;
            }
        }

以上代码先实例化了一个Zend_View对象$view,然后通过参数的方式向其中添加了doctype和headTitle两个资源,这两个资源的参数值分别是“XHTML1_STRICT”和“可幻教育”,它们将分别成为HTML页面中的DOCTYPE和title。

接下来,在layout文件中,我们就可以使用刚才定义的两个资源了。打开application/layouts/scripts/layout.phtml文件,在其中适当的位置添加以下代码:

        application/layouts/scripts/layout.phtml
        <?php echo $this->docType();?>

        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="/skins/default/css/layout.css" rel="stylesheet" type="text/css" />
        <link href="/skins/default/css/style.css" rel="stylesheet" type="text/css" />

        <?php echo $this->headTitle();?>
        </head>

注意比较一下Bootstrap.php和layout.phtml,可以发现docType()和headTitle()在Bootstrap.php中是$view的方法,而在layout中直接用$this指针即可使用它们,这表明layout和所有视图一样,都是view视图的实例对象。

刷新页面,打开源代码,可看到页面的DOCTYPE和title已被设置,如图3-3所示。

图3-3 查看首页的源代码