frankvanhest/phpstan-rules-no-magic

PHPStan rules inspired by roave/dont https://github.com/Roave/Dont

v3.0.0 2024-01-26 13:28 UTC

This package is auto-updated.

Last update: 2024-11-26 15:20:44 UTC


README

Basically these rules prevent you from using PHP magic methods. If you are looking for a Runtime usage prevention of these methods, use https://github.com/Roave/Dont.

Installation

composer require frankvanhest/phpstan-rules-no-magic

Usage

Just include the following in your phpstan.neon file to prevent the methods __call, __callStatic, __clone , __wakeup, __unserialize, unserialize, __get, __sleep, __serialize, serialize, __set and __toString.

includes:
    - vendor/frankvanhest/phpstan-rules-no-magic/config/no-magic.neon

Of course, you can customize which methods should be prevented by choosing the desired rules.

For __call:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicCallRule

For __callStatic:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicCallStaticRule

For __clone:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicCloneRule

For __wakeup, __unserialize and unserialize (use of Serializable interface):

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicDeserializeRule

For __get:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicGetRule

For __sleep, __serialize and serialize (use of Serializable interface):

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicSerializeRule

For __set:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicSetRule

For __toString:

rules:
    - FrankVanHest\PhpStanRulesNoMagic\NoMagicToStringRule

Contribution

Feel free to submit an issue of pull request. When it comes to a pull request I'm curious of how it improves this packages of which problem it may solve.

There are some requirements:

  • Use PSR-12 for code styling
  • Write a test for every meaningful change

License

See LICENCE