首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Rust 编写的轻量级 PHP 语言服务器

Rust 编写的轻量级 PHP 语言服务器

作者头像
Tinywan
发布2026-07-01 15:37:59
发布2026-07-01 15:37:59
470
举报
文章被收录于专栏:开源技术小栈开源技术小栈

简介

一个用 Rust 编写的高性能、轻量级 PHP 语言服务器。几秒钟内即可就绪,内存占用仅为其他语言服务器的一小部分,并且全程保持响应迅速。没有索引阶段,无需等待。

特性

PHPantom 专注于深度类型智能。以下是它与其他工具的对比:

PHPantom

Intelephense

PHP Tools

Phpactor

PHPStorm

常见 LSP 特性 ¹

工作区符号

⚠️

语义令牌

链接编辑

额外特性 ²

💰

⚠️

⚠️

诊断功能

PHPStan 集成

未定义变量

💰

类型错误

💰

⚠️

未使用变量

类型智能

泛型 / @template

⚠️

⚠️

@mixin 补全

💰

⚠️

数组 / 对象形状

⚠️

⚠️

PHPStan 类型

⚠️

⚠️

⚠️

条件返回类型

⚠️

闭包参数推断

⚠️

⚠️

⚠️

Laravel Eloquent

⚠️

重构功能

重命名

💰

💰

常见重构 ³

💰

提取常量

提升构造函数参数

简化表达式

💰

性能

就绪时间

< 1 秒

1 分 25 秒

3 分 17 秒

15 分 39 秒

19 分 38 秒

内存占用

59 MB

520 MB

3.9 GB

498 MB

2.0 GB

磁盘缓存

0

45 MB

0

4.1 GB

551 MB

上下文感知的智能

  • 智能 PHPDoc 补全@throws 会检测方法体中未捕获的异常,@param 会根据函数签名预填充,标签会根据上下文过滤且永不重复建议。
  • 数组形状推断:无需注解,字面量数组即可提供键补全。嵌套形状、展开运算符以及 array_map 等数组函数都能保留元素类型。
  • • 闭包参数推断:例如 users->map(fn(u->name) 会从集合的泛型上下文中推断出
  • 条件返回类型:PHPStan 风格的条件 @return 类型会在每个调用点解析为具体的分支。
  • 类型别名和形状@phpstan-type@phpstan-import-type 以及 object{...} 形状都能正确解析并提供补全。
  • Laravel Eloquent 支持:关系、作用域、访问器、类型转换以及 Builder 链条都能端到端解析。无需 Larastan、无需 ide-helper,也无需访问数据库。
  • 其他你期望的一切:泛型、类型收窄、命名参数、解构、第一类可调用对象、匿名类、@deprecated 检测、命名空间分段钻取等。

项目感知能力

PHPantom 开箱即用即可理解 Composer 项目,同时也支持无需配置的非 Composer 项目:

  • 与 Autoloader 完全一致的结果:补全和转到定义仅显示 Composer 自动加载器实际能加载的类,避免来自内部、不可访问或重复 vendor 类的误报。你看到的就是你的应用真正能使用的内容。
  • PSR-4 自动加载:按需跨文件解析类。
  • Classmap 和文件自动加载:支持 autoload_classmap.phpautoload_files.php
  • 内置 PHP Stubs:来自 https://github.com/JetBrains/phpstorm-stubs 的类型信息已直接打包到二进制文件中,无需运行时下载。
  • require_once 发现:来自 require 文件的函数可用于补全。
  • 转到实现:从接口或抽象类跳转到所有具体实现。会扫描打开的文件、classmap、PSR-4 目录和内置 stubs。

更多:https://github.com/AJenbo/phpantom_lsp

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 特性
  • 上下文感知的智能
  • 项目感知能力
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档