跳转到内容
cd /languages
老 Web,新压力编程语言完整图谱支持

Maguyva 对 PHP 的支持:让长期运行的 Web 应用告别盲目修改

Maguyva 通过 AST 解析和符号提取支持 PHP,让 AI 智能体能够以远胜于 grep 的结构化方式,在 Laravel 应用、自定义框架、WordPress 时代的代码,以及其他长期存活的 PHP 代码仓库中导航。

为什么 PHP 需要具备结构感知能力的搜索

PHP 是最能说明为什么广泛的语言支持必须真实存在、而非只是愿景的例子之一。许多重要系统至今仍是 PHP 系统:Laravel 应用、老式单体架构、内部管理工具,以及那些扛过了每一次计划中重写的、经过大量定制的 Web 应用。

在这些代码仓库中,问题不在于语法,而在于要从一个多年来不断积累辅助函数、框架惯例和本地捷径的代码库中,安全地重新梳理出结构。

Maguyva 在 PHP 中实际提取了什么

Maguyva 会从定义中剥离 $ 符号,规范化带成员前缀的调用,并从关系图谱中过滤掉大量 PHP 内置函数带来的噪声。这正是较旧的 PHP 代码在搜索和依赖视图变得实用之前,所需要的那种清理工作。

它还支持 PHP 团队实际会遇到的各种文件形态,从 .php.phtml,到那些在长期存活的系统中仍然存在的旧版本扩展。

面向长期存活 PHP 应用的实用 MCP 工作流

行之有效的模式通常是:

  • 对于名称稳定的控制器、服务、模型或辅助类,用 find_symbol
  • 当精确文本仍是最快路径时,用 text_pattern_search 查找路由名、辅助函数调用或旧框架惯例。
  • 当代码路径杂乱、你想在修改之前先获得一份拼接好的摘要时,用 get_task_context

这个页面何时有用

这个页面适合那些实际问题很简单——“我们仍在运行重要的 PHP 代码”——的团队。如果前端已经转向现代 JavaScript,接下来可以读 JavaScript。如果代码仓库边缘还有更新的服务层或自动化层,Python 是更相关的配套页面。

最适合场景

  • >在运维上仍然举足轻重的 Laravel、自定义 PHP 或混合单体代码仓库。
  • >维护较旧 Web 应用、且这些应用如今与 JavaScript 前端和基础设施代码并存的团队。
  • >以理解现有流程为优先、然后再进行修改的 AI 辅助重构工作。

智能体工作流

  • >在修改之前,追踪路由、控制器、服务或共享辅助函数的调用路径。
  • >在成熟的 PHP 代码库中找出重复出现的实现模式,而不是凭空发明新模式。
  • >在历经多个框架或托管时代的旧代码中,重新梳理出结构。

引擎细节

  • >PHP 会从定义中剥离 `$` 符号,并对带成员前缀的调用进行归一化,这让辅助函数繁多的旧代码更容易被一致地搜索到。
  • >支持覆盖常见的 PHP 文件形态,包括 `.php`、`.php3`、`.php4`、`.php5`、`.phtml` 和 `.phps`。
  • >一个庞大的内置函数过滤器会移除标准 PHP 运行时表面,让图谱始终聚焦于应用代码。

常用 MCP 入口工具

  • find_symbol

    当代码仓库仍保留可辨认的符号名称时,用它查找某个控制器、服务、模型或辅助类。

  • text_pattern_search

    当单靠结构不够时,用它查找路由名称、辅助函数调用或旧框架惯例。

  • get_task_context

    在改动一段旧的 PHP 流程前,需要一份拼接好的摘要时很有用。