PHP5 模板引擎 Shine

码农软件 · 软件分类 · 模板引擎 · 2019-08-24 16:41:42

软件介绍

Shine是博客“骨头鱼的墓”http://gonefish.info的博主自己开发的一款PHP模板引擎,是Django模板语言从Python移植到PHP的产物。

Django是一个非常流行的Python Web开发框架,其提供的模板语言非常简单,但也非常强大。Shine是使用PHP5对Django模板语言的移植。在移植过程中,Shine定位于独立的模板引擎,所以在移植的过程中去除了一些与Django框 架相关的内容,如:模板文件加载器、Requext_Context等。但Shine并不是简单的移植,添加了新的模板加载方式,加入了编译缓存等 Django模板 语言不存在的东西。Shine还在不断的发展,最终将形成一个更适合PHP,但又继承了Django模板语言精髓的模板引擎。

Django模板语言在设计上非常有自己的特色,因此Shine也是符合这种设计思想的。这些设计思想包括以下几点,下面的内容参考自DjangoBook并做适当的修改:

  • 业务逻辑应该和表现逻辑相对分开 。我们将模板系统视为控制表现及表现相关逻辑的工具,仅此而已。模板系统不应提供超出此基本目标的功能。
  • 出于以上原因,在Shine模板中是不可能直接调用PHP代码的。所有的编程工作基本上都被局限于模板标签的能力范围。当然, 是有可能写出自定义的模板标签来完成任意工作,但这些“超范围”的 Shine模板标签有意地不允许执行任何PHP代码。
  • 语法不应受到HTML/XML的束缚。尽管Shine模板系统主要用于生成HTML,它还是被有意地设计为可生成非HTML格式,如纯文本。一些 其它的模板语言是基于XML的,将所有的模板逻辑置于XML标签与属性之中,而Django有意地避开了这种限制。强制要求使用有效XML编写模板将会引 发大量的人为错误和难以理解的错误信息,而且使用XML引擎解析模板也会导致令人无法容忍的模板处理开销。
  • 假定设计师精通HTML编码。模板系统的设计意图并不是为了让模板一定能够很好地显示在Dreamweaver这样的所见即所得编辑器中。这种限制过于苛刻,而且会使得语法不能像目前这样的完美。Shine要求模板创作人员对直接编辑HTML非常熟悉。
  • 假定设计师不是PHP程序员。模板系统开发人员认为:网页模板通常由设计师而不是程序员编写,因而假定这些人并不掌握PHP相关知识。
  • 目标并不是要发明一种编程语言。目标是恰到好处地提供如分支和循环这一类编程式功能,这是进行与表现相关判断的基础。

本文地址:https://www.codercto.com/soft/d/13079.html

技术之瞳——阿里巴巴技术笔试心得

技术之瞳——阿里巴巴技术笔试心得

阿里巴巴集团校园招聘笔试项目组 / 电子工业出版社 / 2016-11 / 69

《技术之瞳——阿里巴巴技术笔试心得》由阿里巴巴集团校园招聘笔试项目组所著,收集了阿里历年校招中的精华笔试题,涉 及多个领域。《技术之瞳——阿里巴巴技术笔试心得》中内容大量结合了阿里巴巴的实际工作场景,以例题、解析、习题的形式,引 导读者深入理解技术上的关键点、紧要处,夯实基础,启发思考。《技术之瞳——阿里巴巴技术笔试心得》内容不仅专业、有趣,更 是将理论知识与实践应用结合起来,以场景化的问答娓娓道......一起来看看 《技术之瞳——阿里巴巴技术笔试心得》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试