How I use Neovim for writing PHP

Since July 2021, I've used Neovim full-time for my development work and writing.

Whilst Vim and Neovim are minimal by default, its functionality can be extended by adding plugins.

I use nvim-lspconfig along with Intelephense and Phpactor to add code actions and functionality like "go to definition" for PHP code.

I use null-ls to apply code formatting and add diagnostic messages for PHPCS and PHPStan so I can see them on the appropriate lines.

I use nvim-dap and nvim-dap-ui to leverage the debug adapter protocol to do step debugging with Xdebug.

Along with others like dadbod.vim for databases, rest.nvim for making HTTP requests, Gitsigns and Fugitive for Git, and Telescope for fuzzy searching, I have all of the functionality that I've previously had in other browsers with the benefit that it's open source and I can add more plugins or write my own if I need to add anything else.