hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

9.5K
active users

#phpactor

1 post1 participant0 posts today

#phpactor vs #intelephense

This was a useful summary
yarnaudov.com/phpactor-vs-inte

Although last time I did this test phpactor's performance noticeably lagged and that post does not talk about performance at all. I *want* to use phpactor because it's #openSource

Which is best for you and what do you like about it? There's PHPStan too but I'm never sure if that's something different or an equivalent. Boosts welcome

Yoan Arnaudov BlogPhpactor vs Intelephense [Feature comparison]
Continued thread

Probably the biggest issue for me is that when using #helix with #phpactor auto completing variables always results in two dollar signs, which is incredibly annoying for obvious reasons. I am going to write an issue about this the next days, since this is obviously a bug (not sure if in #helix or #phpactor though). But there are also other things missing.

An observation: #phpactor is nifty but also often inaccurate.

(in this case: claiming an imported interface is never used, when in fact it is used in an is_subclass_of() check about a dozen lines later. It's also grousing about a called method in a trait not being declared in that same trait... but that's the thing about traits: there's no syntax to say "this trait should only be used by class X" or "this trait implements interface Y"... and if you declare the method as abstract, PHP might scream "collision!" when you use the trait. ...or is that only for non-abstract methods? Anyway, it gets ambiguous for me, so I avoid doing that.)

Replied to Dan Leech

@dantleech @phpactor

I've set up #neovim with #phpactor (p) and another with #intelephense (i) I used Mason to install each.

What I noticed:

- The calculated root_dir fails for (p); it uses PWD

- BOTH give me signature help and completions (p) is slower and seems to crash on providing signatures for completion.

- BOTH let me jump to definition, though (i) is noticeably faster at this.

- Far fewer diagnostics from phpactor (no static analysis? Perhaps I need to add PHPStan as well?)

#phpactor is fast enough for me on most projects, but I tried contributing to PHPstan the other day and it was unusable (big, complicated files). So going to invest some time into making it more efficient. Esp. now I'm temporarily liberated from work responsibilities :D

Continued thread

🆗 some follow ups. I've uninstalled the #intelephense npm package and I'm now connecting to #lsp provided by #phpactor installed globally.

Sadly I wasn't able to use felixfbecker/language-server (as described in docs) since it's development is discontinued and it is not #php8 compatible.

develop.spacemacs.org/layers/+

I'm still missing completion and probably some other functionalities I'm unaware of.

If only I'd find & fix the intelephense issue 🙏 .

develop.spacemacs.orgPHP layer