一点背景:
嗨,大家好,
我正在为 MVC 应用程序在 PHP 中创建一个路由器,并决定该结构将采用 XML 格式。我有一个 XML 文件,其中包含系统中所有有效的路由(页面)及其关联的控制器和操作。
还有一个“参数”来指示 URI 末尾是否有一个变量以及将其分配给的变量名(我知道这个名字很混乱!!)
我正在做的是查看 REQUEST_URI 并使用 PHP 的 explode 函数将其转换为“路由”元素数组,然后我为其构建查询。
这是一些示例 XML:
<routes>
<route>
<url>blog</url>
<params>
<controller>blogController</controller>
<action>indexAction</action>
</params>
<route>
<url>entry</url>
<params>
<controller>blogController</controller>
<action>entryAction</action>
<param>entryId</param>
</params>
</route>
</route>
</routes>
这是正在构建的查询:
/routes/route/url[text()="blog"]/../route/url[text()="entry"]/..
这似乎总是在 PHPs XPath 中返回 0 个节点,但是使用在线表达式测试器我得到了匹配的入口路径。
谁能解释可能出了什么问题?PHP 的 Xpath 解析器是否理解这种语法?我也试过 ::parent* 方法
干杯!