Naming conventions for code released by PHP FIG
- Interfaces MUST be suffixed by
- Abstract classes MUST be prefixed by
- Traits MUST be suffixed by
- PSR-1, 2 and 4 MUST be followed.
- The vendor namespace MUST be
- There MUST be a package/second-level namespace in relation with the PSR that
covers the code.
- Composer package MUST be named
psr/log. If they
require an implementation as a virtual package it MUST be named
psr/<package>-implementation and be required with a specific version like
1.0.0. Implementors of that PSR can then provide
"psr/<package>-implementation": "1.0.0" in their package to satisfy that
requirement. Specification changes via further PSRs should only lead to a new
tag of the
psr/<package> package, and an equal version bump of the
implementation being required.
- Special lighweight utility packages MAY be produced alongside PSRs and
interfaces and be maintained and updated after the PSR has been accepted. These
MUST be under the vendor namespace