PSR-12 defines consistent formatting for PHP source, including declaration layout and whitespace.
What It Does
PSR-12 defines consistent formatting for PHP source, including declaration layout and whitespace. The following examples distinguish a normal use case, a boundary case and a practical application.
Requirements and Compatibility
PHP 8.x and a local test environment. Apply input validation, correct error handling and the requirements of any optional libraries.
The code focuses on the core concept. Production implementation may also need routes, validation, persistence, authorization or deployment tooling.
Example 1: Basic Behavior
Install PHP_CodeSniffer in the development toolchain.
composer require --dev squizlabs/php_codesniffer
This is a command-line example; use it in its appropriate file or shell, not in the PHP source editor.
Example 2: Another Case
Validate code style with an explicit PSR-12 standard.
vendor/bin/phpcs --standard=PSR12 src tests
This is a command-line example; use it in its appropriate file or shell, not in the PHP source editor.
Practical Example: Putting It to Use
Compare this formatted source with actual project style conventions.
<?php
class ProductFormatter
{
public function format(string $name): string
{
return strtoupper($name);
}
}
echo (new ProductFormatter())->format("book");
Important Behavior and Edge Cases
A formatter does not enforce security or architectural rules; lint and test separately.
Comparison with Related Functions or Approaches
| Option | What it means in practice |
|---|---|
| Enforcing PSR-12 Code Style | PSR-12 defines consistent formatting for PHP source, including declaration layout and whitespace. |
| Related approach | PHP_CodeSniffer checks PSR-12 and PHP CS Fixer can apply formatting rules. |
Common Beginner Mistakes
| Mistake | Correct approach |
|---|---|
| Ignoring the important boundary for Enforcing PSR-12 Code Style | A formatter does not enforce security or architectural rules; lint and test separately. |
| Assuming a related mechanism has the same behavior | PHP_CodeSniffer checks PSR-12 and PHP CS Fixer can apply formatting rules. |
Key Takeaways
- PSR-12 defines consistent formatting for PHP source, including declaration layout and whitespace.
- A formatter does not enforce security or architectural rules; lint and test separately.
- PHP_CodeSniffer checks PSR-12 and PHP CS Fixer can apply formatting rules.
Before adapting these examples, verify the return values, test the failure paths and confirm that your application meets its security and environment requirements.