首页 理论教育高效PHPMVC开发实战

高效PHPMVC开发实战

【摘要】:前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。

前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。

细心的读者也许已经发现,在前面的内容中并没有像CakePHP、Symfony那样的网站布局概念,事实上ThinkPHP已经提供了多种方式解决网站布局的问题,其中常用的有直接在模板中使用<include file=""/>标签,或者在控制器中直接分段输出模板(类似于CodeIgniter方式)。相对而言使用<include file=""/>标签更加友好,也更加符合ThinkPHP的模板处理机制特点,以下代码将使用<include file=""/>标签包含网站的head和foot,代码如下所示。(www.chuimin.cn)

上述代码有一定的局限性,但能够提供非常清晰的思路,对界面设计人员非常友好,include标签不仅可以直接包含网页,还可以包含当前项目控制器中的方法,例如<include file="Public:head"/>即表示包含自定义控制器Public中的head动作(方法)。当然使用分段输出模板也很方便,这种方式比较适合PHP和界面混合编程的团队,如以下代码所示。