作为一个PHP程序员, PHP提供了太多的便利的东西, 导致很多东西都是一知半解.
毕竟PHP是一种弱类型的语言, 而且自带模版语言属性, 因此在实现PHP模版来说就是一个简单的正则替换而已, 没有任何难度.
但是在强类型语言中, 要实现一个模版引擎感觉总是无从下手, 看过pongo2的代码, 基本和天书似得, 不知道有没有热心的朋友能帮忙解答下, 或则说是能简单说说原理. 希望也别太简单的一笔带过.
多谢各位
作为一个PHP程序员, PHP提供了太多的便利的东西, 导致很多东西都是一知半解.
毕竟PHP是一种弱类型的语言, 而且自带模版语言属性, 因此在实现PHP模版来说就是一个简单的正则替换而已, 没有任何难度.
但是在强类型语言中, 要实现一个模版引擎感觉总是无从下手, 看过pongo2的代码, 基本和天书似得, 不知道有没有热心的朋友能帮忙解答下, 或则说是能简单说说原理. 希望也别太简单的一笔带过.
多谢各位
2 回答2.7k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.9k 阅读
模板解析成Node Tree,然后对Node Tree求值成string
比如一个For循环整个就是一个Node
https://github.com/flosch/pongo2/blob/master/tags_for.go
相当于搞了一个新的语言,写了一个解释型的执行器