Tag: static analysis

ai april fool baselining ci circle ci code quality code review conference talk decoupling generics gerrit git interview legacy observability open source performance php language extensions phpstan phpstan effect system phpstan rule test helper psalm rector sarb software design static analysis symfony test splitter testing types video workshop xdebug

Talks

Extending the PHP Language

Learn how to implement new language features using static analysis.

AI Writes Code. PHPStan Keeps It Honest.

As AI generates more of our code, custom PHPStan rules keep quality and coding standards in check.

Custom PHPStan Rules: Automate Standards and Save Time

PHPStan increases code quality and reduces bugs. Learn how custom rules amplify these benefits.

Rector Beyond Upgrades: Transforming Your Workflow

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 Safe PHP: Leveraging Static Analysis for Robust Code

Type hints reduce bugs and enable safe refactoring, but PHP's type system has limits. Learn how static analysis bridges the gaps.

Practical Static Analysis

Static Analysis can drastically reduce the bug count in your codebase. This talk gives practical advice on integrating static analysis into your development workflow.

Introducing static analysis tools to legacy projects

Tips on how to use static analysis tools with legacy projects

Getting the most from static analysis

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.

Mastering automated refactoring with custom Rector rules (Tutorial)

Workshop to create your custom Rector rules

Creating Custom PHPStan and Rector Rules (Workshop)

Full-day workshop covering how to write custom rules for both PHPStan and Rector.

Writing custom PHPStan rules (Tutorial)

Workshop to create your custom PHPStan rules

Articles

Introducing the PHPStan Effect System

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.

Introducing SARB (Static Analysis Results Baseliner)

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.

A static analysis first approach to RFCs

March 8th 2026

Where appropriate should PHP updates start off in static analysis world before becoming part of the PHP language?

Introducing the InjectableVersion attribute

March 3rd 2026

Learn how the InjectableVersion attribute ensures that correct interface of class is used in Dependency Injection.

Introducing the RestrictTraitTo attribute

February 26th 2026

Learn how the RestrictTraitTo attribute ensures that traits are used correctly.

Introducing the TestTag attribute

November 28th 2025

Learn how the TestTag attribute helps with testing.

Introducing the NamespaceVisibility attribute

October 21st 2025

Learn how the NamespaceVisibility attribute emulates the missing package visibility modifier.

Introducing the MustUseResult attribute

October 5th 2025

Learn how the MustUseResult attribute can prevent coding mistakes.

Introducing the Friend attribute (example 1)

September 27th 2025

Learn how the Friend attribute can be used to enforce the usage of creational design patterns.

Introducing the PHP Language Extensions Library

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.

Adding PHPStan to existing projects: Sell the dream, manage the expectations

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.

Videos

Mastering PHPStan Custom Rules with Ondřej Mirtes

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.