If you're writing something for an application that already has a coding standard, use that. (So, if you're writing a Drupal module, follow Drupal's coding standard.)
If not, then following the Symfony coding standard (which follows PSR-0, PSR-1, PSR-2 and PSR-4), except for the following:
- Do not prefix classes with
Abstract
(or with any other meaningless word, egDefault
) - Do not use
Interface
,Trait
andException
suffixes. - Do not use
—able
suffixes (eg useHasTimestamp
notTimestampable
).