php-mode VS eglot

Compare php-mode vs eglot and see what are their differences.

php-mode

A powerful and flexible Emacs major mode for editing PHP scripts (by emacs-php)

eglot

A client for Language Server Protocol servers (by joaotavora)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
php-mode eglot
4 66
575 2,172
0.5% -
8.4 3.4
about 1 month ago about 1 month ago
Emacs Lisp Emacs Lisp
GNU General Public License v3.0 only GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

php-mode

Posts with mentions or reviews of php-mode. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-20.
  • [Q]I wish PHP syntax highlighting in org-babel.
    1 project | /r/orgmode | 27 Feb 2023
    Have you installed https://github.com/emacs-php/php-mode ?
  • How to edit PHP?
    2 projects | /r/learnprogramming | 20 Oct 2021
    If you configure a VM to use as a web server, emacs can be a nice PHP editor. That way you could install Ubuntu Server on VM software, set up a LAMP stack, and SSH into it from your desktop terminal (I find this to be a nicer interface than working directly on the VM).
  • Emacs PHP mode?
    10 projects | /r/emacs | 16 Apr 2021
    php-mode is pretty good combined with lsp-mode. If you are editing PHP files with only PHP script I would go with php-mode. If you are using PHP files with a lot of HTML and PHP I would recommend using web-mode together with the PHP language server.
  • Very poor performance in php-mode
    1 project | /r/DoomEmacs | 7 Apr 2021
    I opened an issue on the php-mode GitHub repo for this very reason, you can take a look here: https://github.com/emacs-php/php-mode/issues/657. Hopefully that'll give you some workarounds at least until the bug is fixed.

eglot

Posts with mentions or reviews of eglot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • LSP could have been better
    12 projects | news.ycombinator.com | 11 Oct 2023
    Recently I stumbled upon this issue:

    https://github.com/joaotavora/eglot/discussions/1127

    I don't know enough about emacs and LSP to see the full picture, but it seems that both eglot's and corfu's maintainers, assumably very competent programmers, can't find a solution for this.

    I only skimmed the thread. My understanding is that LSP dumps a long list of completion candidates at once and they can't decide a cache strategy that works well with existing code...?

  • Spurious errors with Eglot / pylsp
    1 project | /r/emacs | 10 Jul 2023
    It could be. There are unfixed issues with eglot and corfu, and sadly not a lot of willingness to investigate.
  • Using Quarto with Emacs
    2 projects | /r/emacs | 9 Jun 2023
    Eglot errors when I add new Python code blocks. The error disappears when I reconnect the language server, but the same happens again when I add a new code block. My "workaround" now is that before I start working on the .qmd file, I just add a bunch of Python code blocks (for which I also have a function) and then reconnect the language server again. This way I can start working for a while until I need to add more code blocks again.
  • Looking for help in improving Typescript Eglot, Corfu, Orderless performance
    2 projects | /r/emacs | 8 Jun 2023
    This discussion has helped with some performance issues: https://github.com/joaotavora/eglot/discussions/993.
  • Typescript highlighting in emacs incomplete (compared to VSCode) even after using treesitter?
    1 project | /r/emacs | 3 Jun 2023
    I guess eglot doesn't support it yet: https://github.com/joaotavora/eglot/pull/839
  • joaotavora/breadcrumb: Emacs headerline indication of where you are in a large project
    4 projects | /r/emacs | 12 May 2023
    This is not by pure chance, João is the developer of the Eglot LSP client and the breadcrumbs from LSP-mode had been requested as a feature, but as far as I remember João thought rightfully that this could be an independent package, see https://github.com/joaotavora/eglot/discussions/988
  • Returning emacs user - what packages are common now?
    9 projects | /r/emacs | 9 May 2023
    A substantial section of the community is using corfu instead of company, but I wouldn't say company is out of date by any means. In emacs 29 eglot will be a built in, which might act as a replacement for lsp-mode depending on what functionality you need.
  • Eglot upgrade strategy
    1 project | /r/emacs | 6 May 2023
    I am currently running emacs 29 (built from emacs-29 branch) which – according to https://github.com/joaotavora/eglot – should contain the latest eglot.
  • 916 Days of Emacs
    12 projects | news.ycombinator.com | 13 Apr 2023
    Yep. You can use flymake or flycheck for that in combination with eglot or lsp-mode.

    See https://github.com/joaotavora/eglot#diagnostics

  • Eglot, eldoc and golang
    1 project | /r/emacs | 12 Apr 2023
    (I have reported this (that is, ElDoc missing docs for callable things at point, when Eglot is enabled) as an issue recently: First on GitHub-discussions https://github.com/joaotavora/eglot/discussions/1200, then on Debbugs https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62687. But the threads are very long, so I don't recommend reading them.)

What are some alternatives?

When comparing php-mode and eglot you can also consider the following projects:

vscode-intelephense - PHP intellisense for Visual Studio Code

lsp-mode - Emacs client/library for the Language Server Protocol

web-mode - web template editing mode for emacs

dap-mode - Emacs :heart: Debug Adapter Protocol

yasnippet-snippets - a collection of yasnippet snippets for many languages

clangd - clangd language server

ggtags - Emacs frontend to GNU Global source code tagging system.

rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]

nix-mode - An Emacs major mode for editing Nix expressions.

php-quickhelp - A php quickhelp and eldoc backed for emacs

company-mode - Modular in-buffer completion framework for Emacs