Learn how to implement new language features using static analysis.
As AI generates more of our code, custom PHPStan rules keep quality and coding standards in check.
PHPStan increases code quality and reduces bugs. Learn how custom rules amplify these benefits.
Rector is best known for code upgrades, but it can do much more. Learn how to automate repetitive tasks and enforce standards with custom rules.
Type hints reduce bugs and enable safe refactoring, but PHP's type system has limits. Learn how static analysis bridges the gaps.
Static Analysis can drastically reduce the bug count in your codebase. This talk gives practical advice on integrating static analysis into your development workflow.
Tips on how to use static analysis tools with legacy projects
Learn how to write code to get the most from static analysis tools, so you reduce the bug count on projects you're working on.
Workshop to create your custom Rector rules
Full-day workshop covering how to write custom rules for both PHPStan and Rector.
Workshop to create your custom PHPStan rules
October 9th 2026
The PHPStan Effect System is an experimental PHPStan extension that lets you name behaviours, such as calling external services, track them through the call graph, and report when they reach code where they aren't allowed.
July 6th 2026
SARB (Static Analysis Results Baseliner) is an open source tool that lets you adopt static analysis on an existing PHP codebase by baselining pre-existing issues, so your build only fails on new ones.
March 8th 2026
Where appropriate should PHP updates start off in static analysis world before becoming part of the PHP language?
March 3rd 2026
Learn how the InjectableVersion attribute ensures that correct interface of class is used in Dependency Injection.
February 26th 2026
Learn how the RestrictTraitTo attribute ensures that traits are used correctly.
November 28th 2025
Learn how the TestTag attribute helps with testing.
October 21st 2025
Learn how the NamespaceVisibility attribute emulates the missing package visibility modifier.
October 5th 2025
Learn how the MustUseResult attribute can prevent coding mistakes.
September 27th 2025
Learn how the Friend attribute can be used to enforce the usage of creational design patterns.
September 14th 2025
It's possible to use static analysis to emulate new language features in PHP. This article examines how, and introduces the PHP Language Extension Library.
June 23rd 2023
This is the first part of a 4 part series of articles about adding PHPStan to existing projects. First we'll deal with team members who might object.
Why write a test for a single bug when you can write a rule that prevents that bug forever? We caught up with Ondřej Mirtes, the creator of PHPStan, to preview his upcoming talk at PHP UK Conference 2026.