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,TraitandExceptionsuffixes. - Do not use
—ablesuffixes (eg useHasTimestampnotTimestampable).