2017 © Pedro Peláez
 

library standards

MyBB 2.0 Coding Standard

image

mybb/standards

MyBB 2.0 Coding Standard

  • Saturday, May 9, 2015
  • by euantorano
  • Repository
  • 25 Watchers
  • 3 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 4 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

MyBB 2.0 Coding Standard

This repository contains the coding standard for MyBB 2.0. These files are supposed to be used as a standard for PHP_CodeSniffer and are run automatically against all repositories related to MyBB 2.0., (*1)

Standard

PHP code must follow the PSR-2 coding style guide. PHP CodeSniffer will be ran against all contributions to ensure that code follows this standard., (*2)

In addition to the PSR-2 standard, we have other standards and best practices that must be ahered to:, (*3)

  • All interface names MUST be suffixed with Interface. (e.g. ForumInterface).
  • All abstract class names MUST be prefixed with Abstract (e.g. AbstractForum).
  • All repository class names MUST be suffixed with Repository (e.g. ForumRepository).
  • All factory class names MUST be suffixed with Factory (e.g. ForumFactory).
  • The Interface suffix MUST take priority over other suffixes. (e.g. ForumRepositoryInterface, ForumFactoryInterface.
  • Getters MUST be used when retrieving the property of a non-Eloquent object.
  • Setters MUST be used when manipulating the property of a non-Eloquent object.
  • Properties on an object SHOULD have protected or private visibility.
/**
 * @property string magic
 */
class Foo
{
    /**
     * @var string
     */
    protected $bar;

    /**
     * @return string;
     */
    public function getBar()
    {
        return $this->bar;
    }

    /**
     * @param string $bar
     */
    public function setBar($bar)
    {
        $this->bar = $bar;
    }

    /**
     * @param string $name
     */
    public function __get($name)
    {
        return 'magic';
    }
}
  • Methods with a return value and/or arguments MUST have a document block.
  • Object properties MUST have a document block with @var tag denoting their type.
  • Magic properties on an object MUST be declared in a doc block at the top of the class using the @property tag.
  • Method arguments that are required MUST NOT have a default value.

The Versions

09/05 2015

dev-master

9999999-dev

MyBB 2.0 Coding Standard

  Sources   Download

BSD-3