Using class constants in Doctrine annotations

Published on 2019-11-07 • Modified on 2022-04-27

[Edit 2022-04-27] I use PHP 8 attributes now, click on the "read the doc" link to see a relevant example. 🙃
This is a small trick to avoid putting raw values in your Doctrine annotations. For example, it is useful when you have a length constraint that can be shared among several fields and entities. You can also use these constants to create your form type constraints. Note that they must be public or you will get an error.

     * Tells if the snippet can be run to verify the code results.
    #[ORM\Column(type: 'boolean')]
    protected bool $runnable = false;

     * Tells if the snippet has associated unit tests or not.

 More on Stackoverflow   Read the doc  Random snippet