- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php之smarty入门(不要分)
菜鸟学PHP 之Smarty 入门(组图)~ 刚开始接触模版引擎的 PHP 设计师,听到 Smarty 时,都会 觉得很难。其实笔者也不例外,碰都不敢碰一下。但是后来在剖析 XOOPS 的程序架构时,开始发现 Smarty 其实并不难。只要将 Smarty 基础功练好,在一般应用上就已经相当足够了。当然基础能 打好,后面的进阶应用也就不用怕了。 这篇文章的主要用意并非要深入探讨 Smarty 的使用,这在官 方使用说明中都已经写得很完整了。笔者仅在此写下一些自己使用上 的心得,让想要了解 Smarty 却不得其门而入的朋友,可以从中得 到一些启示。就因为这篇文章的内容不是非常深入,会使用 Smarty 的朋友们可能会觉得简单了点。 目前本文已经第三次修订了,本想多加一些料进来;不过碍于 时间的关系,很多 Smarty 的进阶技巧笔者并没有研究得很透彻, 所以也不敢拿出来现眼,但笔者相信这篇文章应该能够满足大多数 想学习 Smarty 的初学者了。当然本文有谬误的地方也欢迎告知, 笔者会在下一次的修订中更正的。 Smarty 介绍 什么是模版引擎 不知道从什么时候开始,有人开始对 HTML 内嵌入 Server Script 觉得不太满意。然而不论是微软的 ASP 或是开放源码的 PHP,都是属于内嵌 Server Script 的网页伺服端语言。因此也就有 人想到,如果能把程序应用逻辑 (或称商业应用逻辑) 与网页呈现 (Layout) 逻辑分离的话,是不是会比较好呢? 其实这个问题早就存在已久,从交互式网页开始风行时,不论 是 ASP 或是 PHP 的使用者都是身兼程序开发者与视觉设计师两种 身份。可是通常这些使用者不是程序强就是美工强,如果要两者同时 兼顾,那可得死掉不少脑细胞... 所以模版引擎就应运而生啦!模版引擎的目的,就是要达到上 述提到的逻辑分离的功能。它能让程序开发者专注于资料的控制或是 功能的达成;而视觉设计师则可专注于网页排版,让网页看起来更 具有专业感 !因此模版引擎很适合公司的网站开发团队使用,使每 个人都能发挥其专长 ! 就笔者接触过的模版引擎来说,依资料呈现方式大概分成:需 搭配程序处理的模版引擎和完全由模版本身自行决定的模版引擎两 种形式。 在需搭配程序处理的模版引擎中,程序开发者必须要负责变量 的呈现逻辑,也就是说他必须把变量的内容在输出到模版前先处理 好,才能做 assign 的工作。换句话说,程序开发者还是得多写一些 程序来决定变量呈现的风貌。而完全由模版本身自行决定的模版引擎, 它允许变量直接 assign 到模版中,让视觉设计师在设计模版时再 决定变量要如何呈现。因此它就可能会有另一套属于自己的模版程序 语法 (如 Smarty) ,以方便控制变量的呈现。但这样一来,视觉设 计师也得学习如何使用模版语言。 模版引擎的运作原理,首先我们先看看以下的运行图: 一般的模版引擎 (如 PHPLib) 都是在建立模版对象时取得要解 析的模版,然后把变量套入后,透过 parse() 这个方法来解析模版, 最后再将网页输出。 对 Smarty 的使用者来说,程序里也不需要做任何 parse 的 动作了,这些 Smarty 自动会帮我们做。而且已经编译过的网页, 如果模版没有变动的话, Smarty 就自动跳过编译的动作,直接执 行编译过的网页,以节省编译的时间。 使用Smarty 的一些概念 在一般模版引擎中,我们常看到区域的观念,所谓区块大概都 会长成这样: ! START : Block name 区域内容 ! END : Block name 这些区块大部份都会在 PHP 程序中以 if 或 for, while 来控制 它们的显示状态,虽然模版看起来简洁多了,但只要一换了显示方 式不同的模版, PHP 程序势必要再改一次! 在 Smarty 中,一切以变量为主,所有的呈现逻辑都让模版自 行控制。因为 Smarty 会有自己的模版语言,所以不管是区块是否 要显示还是要重复,都是用 Smarty 的模版语法 (if, foreach, section) 搭配变量内容作呈现。这样一来感觉上好象模版变得有点 复杂,但好 是只要规划得当, PHP 程序一行都不必改。 由
文档评论(0)