oliverdavies.uk/source/_daily_emails/2024-09-22.md
Oliver Davies a4eff9a0d3 Add daily email for 2024-09-22
Writing custom PHPStan rules for Drupal projects
2024-09-27 00:59:05 +01:00

1.2 KiB

title date permalink tags cta snippet drupal_planet
Writing custom PHPStan rules for Drupal projects 2024-09-22 daily/2024/09/22/writing-custom-phpstan-rules-for-drupal-projects
software-development
drupal
php
phpstan
~ I wrote a custom PHPStan rule! true

Today, I watched a video recording of a session by Ondřej Mirtes - the creator of PHPStan - on writing custom rules for PHPStan.

After explaining how to write them, he showed some examples of custom rules - one of which was ensuring a Person class couldn't be created outside of a PersonRepository class.

This seemed straightforward so I thought about how I could do something similar within my Drupal automated testing email course to check my Drupal code.

Similar to Ondřej's example, I wondered if I could enforce that no post nodes should be created outside of the PostBuilder class by searching for any code like Node::create(['type' => 'post']).

I was able to get a version working quickly and have posted it as a gist.

I'm sure some improvements can be made, but it was a successful experiment and something I can see me using more in the future.