mybb/standards

MyBB 2.0 编码规范

dev-master 2015-05-09 17:51 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:54:30 UTC


README

此仓库包含 MyBB 2.0 的编码规范。这些文件应作为 PHP_CodeSniffer 的标准使用,并自动应用于所有与 MyBB 2.0 相关的仓库。

标准

PHP 代码必须遵循 PSR-2 编码风格指南。《PHP CodeSniffer》将对所有贡献运行,以确保代码遵循此标准。

除了 PSR-2 标准,我们还遵循其他标准和最佳实践。

  • 所有接口名称必须以 Interface 结尾。(例如,ForumInterface)。
  • 所有抽象类名称必须以 Abstract 开头。(例如,AbstractForum)。
  • 所有仓库类名称必须以 Repository 结尾。(例如,ForumRepository)。
  • 所有工厂类名称必须以 Factory 结尾。(例如,ForumFactory)。
  • Interface 后缀必须优先于其他后缀。(例如,ForumRepositoryInterfaceForumFactoryInterface)。
  • 在检索非 Eloquent 对象的属性时,必须使用 Getter。
  • 在操作非 Eloquent 对象的属性时,必须使用 Setter。
  • 对象的属性应该有 protectedprivate 可见性。
/**
 * @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';
    }
}
  • 有返回值和/或参数的方法必须有文档块。
  • 对象属性必须有带有 @var 标记的文档块,以表示其类型。
  • 对象上的魔法属性必须在类的顶部文档块中声明,使用 @property 标记。
  • 必需的方法参数不得有默认值。