PHP面试题更新 2026-08-03

在 Yaf 框架里,路由的配置和自定义方式是什么?请说明如何实现以及具体如何使用。

考察说明

考查候选人对 Yaf 框架路由机制的理解和实际操作能力。

回答思路

  1. 【回答框架 1】Yaf 框架的路由配置主要在配置文件 yaf.ini 中通过 yaf.routes 段定义,格式如 routes.route_name.type = 'regex' 等。基本使用默认路由,即模块/控制器/动作的 URL 结构。
  2. 【回答框架 2】自定义路由类型包括静态、简单、超级变量、重写和正则。静态路由精确匹配 URL 路径,简单路由用查询参数指定模块、控制器和动作,超级变量路由类似但直接使用 $_GET 参数。
  3. 【回答框架 3】重写路由通过正则表达式匹配 URL 并映射到目标路径,正则路由允许更复杂的模式匹配,并可通过命名分组提取参数。定义时在配置文件中指定类型和规则。
  4. 【回答框架 4】使用路由时,Yaf 会按顺序匹配已注册的路由,找到第一条匹配则停止。可通过 Yaf_Router 的 addRoute 方法在代码中动态添加路由,或者直接在配置文件中静态声明。
  5. 【关键点 1】Yaf 路由配置在 yaf.ini 文件的 yaf.routes 段。
  6. 【关键点 2】路由类型包括静态、简单、重写、正则等。
  7. 【关键点 3】通过 Yaf_Router::addRoute 可以动态添加。
  8. 【关键点 4】路由匹配按注册顺序进行,先匹配先生效。
  9. 【易错点 1】正则路由的匹配顺序可能导致错误的路由生效。
  10. 【易错点 2】路由配置错误可能导致 404 错误。
  11. 【易错点 3】动态添加路由与配置文件中的路由优先级容易混淆。