# Coding Standards

# Validating with PHP Code Sniffer

Instead of reading any of this why not just let the computer nag you? From the Pressbooks plugin directory:

  1. composer install
  2. composer standards

Bonus: You can sometimes automatically fix errors by running:

vendor/bin/phpcbf --standard=phpcs.ruleset.xml /path/to/your/file

# Pressbooks Coding Standards (Mandatory)

We enforce Human Made Coding Standards (opens new window) with the following small tweaks.

# Write Classes or Namespaced functions, stay out of global space!

PHP Namespaces (opens new window) have been available since 2009. Namespaces are not a new concept. We use them.

Our namespace is: \Pressbooks\

  • If your Class isn't an Object like \WP_User, \WP_Dependencies, \WP_Query etc., write a library of functions.
  • If your Class is a bunch of Static methods and nothing else, write a library of functions.
  • Afraid of function name collisions? See Namespaces (opens new window).

# Pressbooks Coding Recommendations (Optional)

Write accurate PHPDoc (opens new window) styled code comments.

Prefix action and filter hook (opens new window) names with pb_.

Prefix WP Post meta keys with pb_.

Prefix WP User meta keys with pb_.

Prefix WP Option names with pressbooks_.

Theme files are exempt from the above rules, but should still make an effort to follow them.