Thanks Marco — I agree that any official LSP should follow the PHP spec
closely and avoid adding new type semantics.

The issue isn’t the lack of servers, but fragmentation. Psalm and Phpactor
differ in scope and design, while Phan’s LSP docs haven’t been updated in
years and its Vim plugin is around seven years old. None are standardized
or maintained alongside PHP itself.

PhpStorm is an excellent IDE, but it’s premium — and the fact it’s the only
consistently recommended option highlights a tooling gap. Developers using
VS Code, Neovim, Emacs, or Sublime Text often get a very different
experience.

The Language Server Protocol exists to solve exactly this: as Tom Djenius
de Vries put it, it turns the M×N problem (M editors × N languages) into
M+N — each only needs one integration point.

A spec-aligned, officially maintained PHP LSP could unify that baseline and
make PHP development more consistent and accessible across editors.

Best,
Dan

On Sat, 1 Nov 2025, 11.35 Marco Pivetta, <[email protected]> wrote:

> On Fri, 31 Oct 2025 at 15:48, Dan Jessen <[email protected]> wrote:
>
>> Hello everyone,
>>
>> I’d like to start a discussion about the potential for PHP to have an
>> official Language Server, implementing the Language Server Protocol (LSP) —
>> similar to what other programming languages already provide (e.g. Go’s
>> gopls, Elixir’s Expert, etc.).
>>
>
> Just reporting on existing language servers that already exist, and go way
> ahead of PHP in terms of supported type declarations.
>
> *
> https://github.com/vimeo/psalm/blob/2b0ff73c8bed091af231a0a80ac109126c92083a/docs/running_psalm/language_server.md
> *
> https://github.com/phpactor/language-server/blob/e4934195cc1857ec3347a488f3357b0f0df2d2bf/README.md
> *
> https://github.com/phan/phan/blob/5c25c548b2fb3755e5a01f320dfd96dcd19d850b/README.md#features
>
> Note that the PHP spec is quite limited on more refined types (like
> `int<1, max>` and such, as an example), so I wouldn't expect an "official"
> LSP to support it.
>
> Marco Pivetta
>
> https://mastodon.social/@ocramius
>
> https://ocramius.github.io/  <https://ocramius.github.io/>
>
>

Reply via email to