by AbuAssar on 9/13/25, 2:20 PM with 70 comments
by idoubtit on 9/13/25, 6:59 PM
I've just tried to apply it to a medium-sized project, and it spitted tens of thousands of errors where phpstan and psalm don't see any. At first glance, it's because Mago does not parse phpdoc. In its current beta state, Mago is meaningless for all the big PHP projects, which are its main target.
Mago might succeed, but I wouldn't bet on it. Its main selling point is that it promises to be faster than the usual static analysers-linters (phpstan and psalm). But if it does not reach feature parity with them, the speed gain probably won't convince PHP projects to drop the standard tools. Since phpstan and Co keep evolving, keeping feature parity will require constant work. And PHP is more niche than Python or JS, so contributors mastering Rust and PHP will be fewer, compared to phpstan/psalm which are written in PHP.
by anta40 on 9/13/25, 4:31 PM
Will Mago implement a PHP runtime?
Absolutely not. The PHP runtime is incredibly complex. Major efforts by large companies (e.g., Facebook's HHVM, VK's KPHP) have struggled to reach full parity with Zend Engine. Achieving this as a smaller project is infeasible and would lead to community fragmentation. We are focused on tooling, not runtimes.
by NietTim on 9/13/25, 7:10 PM
by dzonga on 9/13/25, 3:00 PM
by darkamaul on 9/13/25, 4:39 PM
If it has remotely the same success, that would be a huge win for the ecosystem!
by quotemstr on 9/13/25, 7:18 PM
by CiaranMcNulty on 9/14/25, 10:11 AM
With Phpstan and Psalm already in the space I'd like to see more differentiator features than 'written in Rust' - there are certainly advantages to that, but the disadvantage of not using PHP is it's harder to get contributions from the community using the tool.
Cool project overall!
by muglug on 9/13/25, 3:12 PM
Tools like Sorbet (C typechecker for Ruby) or tsgo (Go-based successor to TypeScript's typechecker) are only viable because big profitable companies can back them up with engineering hours.
by cynicalsecurity on 9/13/25, 5:19 PM
by Raed667 on 9/13/25, 3:21 PM
by loeg on 9/13/25, 7:17 PM