`

开始使用 Zend_View 占位符:占位符基本用法

 
阅读更多

Zend Framework 定义了一个通用的 placeholder() 视图帮助器你可以用来定制你所需要的占位符。它也提供大量专门的经常所需功能的占位符应用,例如指定 DocType 声明,文档的标题,以及更多。

所有的占位符在总体上运行是一致的。他们是容器,这样以便你能把它们当作收集物来执行。使用它们,你可以做到:

  • 附加或者预加物体到收集物上
  • 用一个单独的值来取代整个收集物。
  • 指定一个字符串,当呈现收集物的时候用它来前置输出
  • 指定一个字符串,当呈现收集物的时候用它来后置输出
  • 指定一个字符串,当呈现收集物的时候用它来分割事物
  • 把内容采集到收集物中
  • 呈现合并的内容

典型的,你不用参数就可以调用这个帮助器,它将返回一个你可以操作的容器。然后你可以输出这个容器来呈现它,或者调用它的方法来配置和填充它。如果容器是空的,呈现它会简单的返回一个空的字符串;否则,内容将会根据你配置的规则被合并。

举例说明,让我们创建一个由一些块内容组成的横幅。你极可能提前知道各个块的结构,让我们假设此例中它看起来是这样的:

基于控制器和行为,内容会有所不同,但是结构是一样的。这我们首先为我们的 bootstrap 以一种资源方法来建立横幅。

上面定义了一个占位符,横幅,没有事物。但是它按照我们的要求创建了这个占位符基本的标记结构。

现在,这我们假设全部行为的用户控制器,我们想在顶部出现一个包括一些信息的块。我们可以通过两种方法来完成:(a)我们可以在控制器的 preDispatch() 方法上增加内容,或者(b)我们可以从 preDispatch() 方法内部中呈现一个视图脚本。我们使用(b)计划,因为它遵循一个更多合适的注意力分离(把和视图相关的逻辑和功能留在一个视图脚本内)。

我们会这个视图脚本命名为 user/_sidebar.phtml,用以下内容填满它:

以上的例子使用了占位符的内容采集功能。默认的,内容被当作一个新事物附加到容器内,让我们合并内容。这个例子为了创建标记,使用了视图帮助器和静态 HTML,内容然后被采集然后附加进占位符本身。

为了唤醒以上视图脚本,我们要把以下内容写进我们的 preDispatch() 方法中:

注意我们没有采集被呈现的值,这没有必要,因为那个视图整个正在被采集进一个占位符内。

现在,让我们假设我们的在同一个控件器中的 视图 行为需要呈现一些信息。在 user/view.phtml 视图脚本中,我们可能有以下的代码片断:

这个例子使用了 append() 方法,把一些简单的标记传递给它来合并。

最后,让我们修改我们的模板视图,并让它呈现占位符:

对于没有被横幅占位符填充的控制器和行为而言,不会输出内容,而对于被填充的而言,然而,输出占位符将会按照我们在 bootstrap 中制定的规则,我们在整个应用程序内合并的内容来呈现内容。对于 /user/view 行为这个个案,个假设一个用户名为 matthew,我们将按照以下来获得横幅的内容(为了易于阅读,已经做了格式化):

通过结合占位符和模板脚本,你可以做大量的事情;尝试它们,阅读相关章节来获取更多信息。

分享到:
评论

相关推荐

    Zend_Framework_ZH中文手册

    - **Zend_View**:视图脚本引擎,用于渲染视图模板,与控制器和模型分离。 **3. 服务和API集成** - **Zend_Gdata**:与Google Data API集成,如Gmail、YouTube等。 - **Zend_Service_Amazon**:与Amazon Web ...

    zend入门知识讲解

    13. **Zend_View**:MVC模式中的“视图”部分,负责呈现和格式化数据。 14. **Zend_XmlRpc**:实现XML-RPC协议,支持创建XML-RPC客户端和服务器。 15. **Zend_Acl**:提供访问控制列表(ACL),实现角色对资源的...

    Zend Framework教程之视图组件Zend_View用法详解

    本教程将深入探讨Zend_View的使用方法、工作原理及其与其他组件的交互。 首先,让我们了解Zend_View的基本结构。在Zend Framework的库目录中,`Zend/View`包含了所有与视图相关的类。核心类`View.php`是视图组件的...

    Zend Framework实现Zend_View集成Smarty模板系统的方法

    在本文中,我们将深入探讨如何在Zend Framework中实现Zend_View与Smarty模板系统的集成。首先,我们需要理解这两个组件的基本概念。 **Zend Framework** 是一个广泛使用的PHP框架,它提供了构建MVC(模型-视图-控制...

    Zend_Db_Adapter_Mysql 和 Zend_Db_Statement_Mysql

    不支持PDO 、MYSQLI的空间也可以用ZEND框架了 解包后到 Zend 的框架目录 library\Zend\Db 在PHP程序里 $db = Zend_Db::factory('Mysql', $params); 即把原来的 PDO_MYSQL 等改成 Mysql

    Zend Framework入门教程之Zend_Config组件用法详解

    通过实例讲解,我们将会掌握Zend_Config组件的基本用法,并学习如何操作不同类型配置文件的方法。 首先,Zend_Config组件的作用是为了简化配置信息的管理,它提供了一个统一的方式去读取和存储应用的配置信息。无论...

    Zend Framework教程之Zend_Controller_Plugin插件用法详解

    下面将详细阐述`Zend_Controller_Plugin`的使用方法和核心概念。 1. **插件基础** `Zend_Controller_Plugin_Abstract`是所有插件类的基类,提供了几个关键方法供子类重写以实现特定功能。这些方法包括: - `route...

    Zend_Db.pdf

    此外,`query()`方法还支持参数绑定,即在查询中使用占位符,然后传递一个数组来替换这些占位符。这不仅提高了查询的效率,也进一步增强了安全性。 通过以上介绍,我们可以看出`Zend_Db_Adapter`不仅简化了数据库...

    Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解

    - Zend_Controller_Request_Abstract:这是一个抽象类,提供了请求对象的基本方法,这些方法被其他具体请求类所继承。 - Zend_Controller_Request_Http:这个类是用于处理HTTP请求的封装。 - Zend_Controller_...

    Zend Framework API documentation

    5. **Zend_View**:视图脚本引擎,负责将数据渲染成 HTML 或其他格式的输出。 6. **Zend_Session**:处理会话数据,提供会话管理功能。 7. **Zend_Cache**:实现缓存机制,提高应用性能。 8. **Zend_Mail**:处理...

    最新版的Zend_Framework 手册 中文版

    - **组件参考**:详述每个组件的功能、用法和API,如Zend_Db用于数据库操作,Zend_View用于视图渲染。 - **最佳实践**:提供开发建议和优化技巧,帮助提升代码质量和性能。 - **示例代码**:包含丰富的代码示例,...

    ZendFramework-1.10.3

    3. **Zend_View**:负责呈现视图,与控制器分离,支持模板引擎,方便布局和样式控制。 4. **Zend_Form**:处理表单验证和渲染,提供了丰富的验证规则和元素类型。 5. **Zend_Auth**和**Zend_Acl**:处理用户认证和...

    ZendFramework-1.12.9 手册 (HTML版)

    2. **Zend_View**:视图层组件,帮助开发者实现数据和显示逻辑的分离。 3. **Zend_Db**:数据库抽象层,支持多种数据库系统,提供统一的接口进行数据库操作。 4. **Zend_Session**:会话管理,提供安全的会话处理和...

    Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解

    主要介绍了Zend Framework教程之分发器Zend_Controller_Dispatcher用法,结合实例形式详细分析了分发器Zend_Controller_Dispatcher的结构,功能,使用技巧与相关注意事项,需要的朋友可以参考下

    Zend Framework过滤器Zend_Filter用法详解

    使用方法是在PHP脚本中首先引入需要的过滤器类文件,然后创建过滤器类的实例,并对其应用filter()方法。具体步骤如下: 1. 引入Zend_Filter_StringToLower类所在的文件: ```php require_once 'Zend/Filter/...

    zend_framework中文手册(最新版本)

    - **基本用法**:给出实际使用的例子。 ##### 4. **Zend_Cache(缓存模块)** - **简介**:概述缓存的基本概念和重要性。 - **缓存原理**:深入探讨缓存的工作原理,包括缓存项的存储、过期策略等。 - **Zend_...

    zend framework教程.zip

    2. **Zend_View**:负责渲染视图,支持模板引擎,提供视图助手。 3. **Zend_Model**:数据访问层,提供了数据库操作、ActiveRecord模式等。 4. **Zend_Db**:数据库抽象层,提供数据库适配器、查询构建器等。 5. ...

Global site tag (gtag.js) - Google Analytics