我想在CodeIgniter视图中使用像{{headline}}这样的标签而不是PHP,我正在寻找模板解析器。 CodeIgniter有一个内置的模板解析器:http://www.ellislab.com/codeigniter/user-guide/libraries/parser.html
问题是使用内置解析器或其他解析器是否更好? CI模板解析器是否存在任何限制,例如不支持循环,if语句等?
如果是这样,有许多其他解析器,但似乎开发人员对它们进行了一段时间的工作,然后当它不再受支持时会陷入麻木状态。我正在寻找一个也将在一年内得到支持的解析器:
铲斗 http://backstack.ca/projects/bucket/
Comper Template Parser http://parser.comper.sk/en/
眼 - 模板库 http://github.com/lonnieezell/Ocular-Template-Library
Phil Sturgeon模板库 http://philsturgeon.co.uk/code/codeigniter-template
PyroCMS Lex Parser http://github.com/pyrocms/lex
CodeIgniter的模板库 http://www.williamsconcepts.com/ci/codeigniter/libraries/template/
最活跃的似乎是Comper和Lex Parser。 Phil Sturgeon模板库和PyroCMS Lex Parser有什么区别,因为它是同一个开发人员?
我在寻找的是: - 在视图中分离PHP和HTML / CSS - 坚固支持,使其在一年内不会停滞不前 - 使用简单标签,但也包括循环,if语句和其他功能
有人能给我一个提示吗? CI论坛或其他地方的现有信息并没有真正有用。
非常感谢!
菲利普
答案 0 :(得分:0)
我选择了一个类似的练习来选择PHP / CMS系统,这里有一些可能会延续到你的决策过程。
我首先查看文档,了解系统支持的程度,评估功能范围等。我还看到是否有足够活动的在线论坛,以便在需要时获得帮助。
然后我尝试安装以查看它是否顺利进行。如果我在这个阶段遇到麻烦,除非有在线论坛或帮助台准备好答案,否则我可能会放弃并尝试其他系统。
然后我建立了一个示例网站(2-3页)并试用我需要的功能。在CodeIgniter的情况下,我可能将内容存储在多个数据库表中,并且我评估从SQL查询中获取数据到模板系统可以使用的数组结构所需的工作量。这通常是在开发网站时花费最多的步骤。
我还检查了将PHP函数集成到混合中是多么容易。例如,我曾经不得不构建一个专门的函数来确定一系列日期,这些日期必须传递给模板引擎。我能够做到,但需要付出很多努力。模板系统几乎不支持解析日期,我不得不求助于PHP函数来完成工作。
<强>摘要强>
最终,您需要尝试使用其中一些系统来感受它们。完成后,选择一个对您的编码风格,易用性和数据结构有意义的方法。
<强> PS 强>
我没有使用上面列出的系统,但我花了很多时间在Expression Engine中使用模板引擎(来自创建CodeIgniter的同一组的CMS)。我的评论是基于我使用Expression Engine实现数据库驱动网站的经验,并处理该特定平台的局限性和怪癖。