Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129039 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 4E31A1A00BC for ; Sat, 1 Nov 2025 10:35:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1761993340; bh=x9lAtdu506yAjT6FTbitTjM5ANuG4086MGxaGTrYgOo=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=WYxql7ev31dxHvaI85Hi022ZHkLQ5wVgfbl55a6lKRg2F0i6iZl402GGoPMFmuZpY Cx7KV4qYg7ruws099xl3uON+oC+bCOJauusxj82AAVjWtHCkf5ccZ8tosop5e3DzGc ikoGep3DDEISNahUULUtL2LNTdKMuSUh/q+hgeDPyL0LwBRd61J6CvtMDP9OHQAhy8 jacW+R0+0BcwAKqryjPcDt2qRf4M3CetffPAX4E90AQLBwJVIh831UBhxVM1jz82sg g8vyBuJQp0cQYaenmkBOf6DTpWcN0Qv16WZ3PCkGVb+MXucitfzcS+orZQR5buzFV9 z4+f8QZEOtFIw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 19211180078 for ; Sat, 1 Nov 2025 10:35:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 1 Nov 2025 10:35:36 +0000 (UTC) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-3408c9a8147so1652924a91.0 for ; Sat, 01 Nov 2025 03:35:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761993330; x=1762598130; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=mRnknoTqi/Fnwb7za41iUQM7JplPL0rXqb1Ftcrpi/o=; b=dbpr/oUmC1aWwFk+2OpHa1eMLNLJxFMaRkhL6nF+ZJ4R0qi9kVB/FBE9jVwMha9IxT 0QrQ/OJcLlZ6aZ7f3dOtoxd7C3iHOz3cvVK2Gw2YMd4ujIW86w1yZLFHQI113rT9+ue1 QSyz8UuhCOkdtF9Id2aJt+7b74ywEKuDb9cGWfUT0PnBplbSN7DB3fEUFFdjF5u+D4HF he8GugEQnrafWr8vAg58wOyRYWlQ4/XQajIegf/vo3oZQWW4aIdMiw1diYbZCrV+2T96 wHwfpJrH39YUU8KA0ZC7AWTcCdRpPLuOvYQZH1sj5E9crqifgkwuN+pNBykgZm0ikBEs pf4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761993330; x=1762598130; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mRnknoTqi/Fnwb7za41iUQM7JplPL0rXqb1Ftcrpi/o=; b=rPRQ7pbYR02IyPYHV5Jl6z5aYJOIMWbjZbpnuOKaFJt/3HCuWmHBdDWx7okksPNgMN A9Pf7ISLdS7kjWJDJ1tzaOVEuiFyiqy6NrBtzU2+58Ed/cwcaYlbvXmdCimST/ehlrQm jI81Q1PdhToQWarDwIx1hpprw6ZIAjcj2yrSh+IEIOKGeMVpy82Oa/quYuswKHehwPCK pKpyhC7WCNRSyC3W02I95dGa0G/zVS7pIDHhqKJfRjbJ3iqSiDhSeEYfk7C4HaKoUD6s y3i6zvYG9GcHuai1nAhnJSfSN2X16KPKt4PGpqEeIvn3LO8acoGj/v4IgSr0NQnWvGUM 3glg== X-Gm-Message-State: AOJu0YwxeQymKzLmS+enPTlbyKFa/BZSmuTaSIgDCeqL/B59znbmNKLD lNwpqrEKcdQQEw9+bKjOFW0hqVK44fu9Qcqh7qDSAg5dvY8Ao3cAdNSHB61Ba+5DzCO68PmGOoi 5hjyK9HLfZwDZXPXa11A+oTvrtrGgaXE= X-Gm-Gg: ASbGnctVwPuyqf83PyoD4s06RmkHJyWUCXNOsVJPexp9tfYM4AmCRdXINRaQq8XtG0+ o0iN0I2UudRDHgZ28biwugwk1QYSLeauM8cB/Or2yF8sKtMtkBQnmMShzsHJo6CHCReqYkfBuBQ d/Mo78dPO/n3CxwzGdFHip+cK5j3FSMAXzaApULrKb0Z/I0NvxHJ9AoM31GsJBOfoMqEYf7gK2b WIbPuhEpMJiVEx2M+0pc9yecQ/FEb92BWFbdeMPhfqTSiTYXP2ntVHqy5KWpsEAB6Ri0p81Dtar b3viAfR8fWRjQEQ84ARbn8H+rFkc X-Google-Smtp-Source: AGHT+IGX4DvoBO6R8INcg9YoByj2ND+9FIrE2UJ/lcro10uu5IDVx017Sa0LjJEmw1Mervkj3BSzeASQaB++ptd7AiM= X-Received: by 2002:a17:90a:da86:b0:32e:72bd:6d5a with SMTP id 98e67ed59e1d1-3407f4f4f39mr8609005a91.1.1761993330245; Sat, 01 Nov 2025 03:35:30 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Sat, 1 Nov 2025 11:35:17 +0100 X-Gm-Features: AWmQ_bkQSHqgwroHiInMH_1aF_NTbEZTYbAtBzotCtA4m_34KBgGZMdIsmhgreY Message-ID: Subject: Re: [PHP-DEV] Fwd: [DISCUSSION] Proposal: Official PHP Language Server (LSP Implementation) To: Dan Jessen Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000008bc8b20642860a7e" From: ocramius@gmail.com (Marco Pivetta) --0000000000008bc8b20642860a7e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 31 Oct 2025 at 15:48, Dan Jessen wrote: > Hello everyone, > > I=E2=80=99d like to start a discussion about the potential for PHP to hav= e an > official Language Server, implementing the Language Server Protocol (LSP)= =E2=80=94 > similar to what other programming languages already provide (e.g. Go=E2= =80=99s > gopls, Elixir=E2=80=99s 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/2b0ff73c8bed091af231a0a80ac109126c92083= a/docs/running_psalm/language_server.md * https://github.com/phpactor/language-server/blob/e4934195cc1857ec3347a488f3= 357b0f0df2d2bf/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/ --0000000000008bc8b20642860a7e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, 31 Oct 2025 at = 15:48, Dan Jessen <danjessen@gmai= l.com> wrote:
Hello eve= ryone,

I=E2=80=99d like to start a discussion about the potential fo= r PHP to have an official Language Server, implementing the Language Server= Protocol (LSP) =E2=80=94 similar to what other programming languages alrea= dy provide (e.g. Go=E2=80=99s gopls, Elixir=E2=80=99s Expert, etc.).
<= /div>

Just reporting on existing= language servers that already exist, and go way ahead of PHP in terms of s= upported type declarations.


Note that the PHP spec is quite limited on more refined types (like=20 `int<1, max>` and such, as an example), so I wouldn't expect an= =20 "official" LSP to support it.

Marco Pivetta

<= a href=3D"https://mastodon.social/@ocramius" target=3D"_blank">https://mast= odon.social/@ocramius

https://ocramius.github.io/=C2=A0
=C2= =A0
--0000000000008bc8b20642860a7e--