在文章的开头,首先要向一直关注我的人说声抱歉!因为原本是打算在前端框架5.0发布之后,就立马完成 PHP 模板引擎的初版。但我没能做到,而且一直拖到了15年元旦才完成,有很严重的拖延症我很惭愧,再次抱歉!
之前有说过以后的作品发布文章都会同步发表相应的 API 使用说明,但我觉得这还不够好而且博客平台对表格的处理和显示不是很友好,导致 API 不能完美的呈现,因此打算只提供 API 链接,大家可以通过链接直接访问到我的官网去查阅手册,那样的阅读体验是最好的。而发布的文章以后则更新一些和 API 相关的使用教导,提供一些小例子,让大家在阅读 API 的同时,也能够通过实际例子去更加深刻的体会到代码的各种用法与业务逻辑思想!
以下是 API 手册与实例演示链接
【实例演示】:http://www.shibuyi.net/demo/php/template_engine/prototype
【官方 API 使用手册】:http://www.shibuyi.net/api/php/template_engine/prototype
【笔者个人官网】:http://www.shibuyi.net
下面为 PHP 模板引擎 Prototype 原型版使用教导,以下直接简称:模板引擎!
什么?不知道模板引擎是啥?可能会有 PHP 新手会问这样的问题,那我就简单的回答一下吧。模板引擎其实就是 PHP 的一个中间件技术,让传统的 Web 动态网站编程变得更加轻松,为什么这么说呢?以前不轻松吗?那是因为在模板引擎出现之前,几乎所有的 Web 服务端程序员都是通过混编代码完成工作的,所谓混编就是一张页面中既包含:PHP 也包含 HTML 甚至还有其他语言的代码,因此项目如果逐渐扩展,开发和维护的时间成本是极高的,还容易出错,美工与程序也不好配合,如果美工一点也不理解程序,那基本上没办法看混编文件。而模板引擎的诞生就很好的解决了这一难题。它采用模板技术将混编文件中的 PHP 业务逻辑层代码与 HTML 表现层代码进行了很好的切割分离,程序员则可以安心的设计程序,而美工则安心的设计界面,二者之间会使用一种模板标记的特殊符号进行关联,方便模板引擎读取模板文件之后可以顺利的进行编译操作。市面上 PHP 已经有很多相当成熟的模板引擎了,如:Smarty 模板引擎等等,其他 Web 服务端语言也有自己相应的模板引擎,或者与模板引擎类似的中间件技术。
关于模板引擎的详细介绍,推荐大家访问百度百科:http://baike.baidu.com/view/4258079.htm
在学习模板引擎之前大家要先保证自己已经了解了 PHP 的 OOP(面向对象编程)思想,因为模板技术是采用 OOP 思想描述的,如果不懂 OOP 那么这篇文章就不适合您阅读,因为门槛过高!
首先大家看到的图片是模板引擎的目录结构图(笔者使用的是 ZendStudio 7.2.1 集成开发环境):
1. caches 为模板缓存目录(若不存在模板引擎第一次执行会自动生成);
2. classes 为模板引擎核心类库;
3. compiles 为模板编译目录(若不存在模板引擎第一次执行会自动生成);
4. constants 为模板常量目录(若不存在模板引擎第一次执行会自动生成);
5. includes 为模板配置目录;
6. templates 为模板文件目录(若不存在模板引擎第一次执行会自动生成)。
在了解了模板引擎的目录后,接下来我们就来看看如何让他运作起来。在原型版中模板引擎的相关初始化和配置信息都是在 includes/template.inc.php 文件中完成的(大家可以打开实例演示的源码进行查阅)。
其实对模板引擎的配置又叫做初始化的过程,初始化的第一步就是配置相应的目录,让模板引擎能够正确的读取和写入该目录中的数据(配置步骤大家可以自由选择,不一定非要按照我的顺序来配置,但一定要在实例化模板引擎之前完成,否则将会失效),而我们则假设与模板引擎在同一目录下进行配置,并且创建 index.php 文件用来存储配置信息,如果非同一目录对于根目录的配置则需要注意调整。
1. 首先第一步是配置模板引擎的根目录,如果不设置则会自动生成根目录的绝对路径。
Template :: $rootPath = dirname(__FILE__); // 相对与绝对路径均可,我们这里则采用绝对路径!如:"C:/wwwroot/prototype"