继续对phpSayTemplateParser类的分析。
phpSayTemplateParser类最重要的函数就是compile(),该函数将HTML模板文件中的特定标签替换成相应的PHP代码,如上文所述。
首先以login页面为例进行分析。
简单的部分略去不说,如:
因为login.html中只有<!-- IF loginResult == "ok" -->,所以能实验到的只有如下代码块:
该段代码将$page字符串中所有匹配正则表达式的字符都存放入$var数组中,通过variable_inspector.php中的var_log函数将该数组输出到一个txt中(如果输入到HTML中,将不能正常显示其内容,所以一定要放到纯文本里面才行)。
通过添加代码:
内容为:
= Array (
| 0 = Array (
| | 0 = "<!-- IF loginResult == "ok" -->"
| | 1 = "<!-- IF loginResult == "error" -->"
| | 2 = "<!-- IF loginResult == "ok" -->"
| )
| 1 = Array (
| | 0 = ""
| | 1 = ""
| | 2 = ""
| )
| 2 = Array (
| | 0 = "loginResult"
| | 1 = "loginResult"
| | 2 = "loginResult"
| )
| 3 = Array (
| | 0 = "=="
| | 1 = "=="
| | 2 = "=="
| )
| 4 = Array (
| | 0 = ""ok""
| | 1 = ""error""
| | 2 = ""ok""
| )
)