Skip to content

Document code-style for enums and class constants #16537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 25, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions contributing/code/standards.rst
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,12 @@ Naming Conventions
* Use `snake_case`_ for configuration parameters and Twig template variables
(e.g. ``framework.csrf_protection``, ``http_status_code``);

* Use namespaces for all PHP classes and `UpperCamelCase`_ for their names (e.g.
``ConsoleLogger``);
* Use `SCREAMING_SNAKE_CASE`_ for constants (e.g. ``InputArgument::IS_ARRAY``);

* Use `UpperCamelCase`_ for enumeration cases (e.g. ``InputArgumentMode::IsArray``);

* Use namespaces for all PHP classes, interfaces, traits and enums and
`UpperCamelCase`_ for their names (e.g. ``ConsoleLogger``);

* Prefix all abstract classes with ``Abstract`` except PHPUnit ``*TestCase``.
Please note some early Symfony classes do not follow this convention and
Expand All @@ -222,6 +226,9 @@ Naming Conventions

* Suffix traits with ``Trait``;

* Don't use a dedicated suffix for classes or enumerations (e.g. like ``Class``
or ``Enum``), except for the cases listed below.

* Suffix exceptions with ``Exception``;

* Prefix PHP attributes with ``As`` where applicable (e.g. ``#[AsCommand]``
Expand Down