最好的PHP 5模板技术?
发布时间:2020-12-13 22:15:13 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找在 PHP中构建我自己的模板层作为我的OOP框架的一部分,但我看起来如此正确地做这个的一些例子.我想避免解析每个html文件以找到告诉模板引擎要做什么的注释,而是使用更快/更清洁/现代的技术.我只需要一些例子,因为我用谷歌环顾四周,没有什么吸引我的
我正在寻找在
PHP中构建我自己的模板层作为我的OOP框架的一部分,但我看起来如此正确地做这个的一些例子.我想避免解析每个html文件以找到告诉模板引擎要做什么的注释,而是使用更快/更清洁/现代的技术.我只需要一些例子,因为我用谷歌环顾四周,没有什么吸引我的眼球.我试图保持我的演示文稿和逻辑分离,但我正在做的事情需要通过html代码的大量逻辑.
,谢谢 附:我不打算使用现有的模板引擎,比如smarty,我想建立自己的模板引擎. 解决方法
我会问你同样的问题,我会问任何建议Smarty的人:
为什么要将模板语言添加到PHP,这是一种模板语言? PHP是一种模板语言.我认为人们会忘记或尝试将其视为纯粹的OO语言,which it isn’t.发挥PHP的优势.不要尝试做它不是的东西. 总而言之,很难回答你的问题,因为你没有说你的模板系统有多简单或复杂,即你打算支持哪些功能. 如果您的模板语言相对简单,那么正则表达式可能就是您的选择.然而,这对一些微不足道的案件不起作用.控制结构的嵌套可能是最常见的.在这种情况下,您需要编写某种形式的基本解析器. 让我们说你所有的模板结构都是这样的块: {:...:} 因为在HTML页面中相对不太可能发生(尽管为了完整性,您需要满足用户确实想要使用这些字符组合的情况. 您需要扫描文件以获取此类表达式并相应地处理它们.正则表达式可用于查找所有但不一定匹配的表达式,例如条件包括例如: {:if ...:} Some conditional content {:endif:} 为什么?因为这: {:if *some condition*:} {:if *some other condition*:} Some other conditional content {:endif:} Some conditional content {:endif:} 与正则表达式匹配不能可靠地完成,因此您需要将文件解析为某种形式的词法树,然后对其进行处理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |