应用插件开发规范

应用插件要求

  • 插件不能包含侵权的代码、图标、图片等
  • 插件源码保证是完整的代码,且不能加密
  • 插件必须是完整的功能,不能是简单的功能
  • 必须提供完整的功能介绍、文档
  • 插件不能包含子市场
  • 插件内不能任何文字或推广连接

应用插件标识

每个应用插件都有一个唯一标识,这个标识由字母组成。这个标识影响应用插件所在源码目录名、类的命名空间、插件数据库表前缀。

假设开发者以foo为插件标识,那么插件源码所在目录为{主项目}/plugin/foo,相应的插件的命名空间为plugin\foo,表前缀为foo_

由于标识全网唯一,所以开发者在开发前需要检测标识是否可用,检测地址应用标识检测

数据库

  • 表名由小写字母a-z以及下划线_组成
  • 插件数据表应该以插件标识为前缀,例如foo插件article表为foo_article
  • 表主键应该id为索引
  • 存储引擎统一使用innodb引擎
  • 字符集统一使用utf8mb4_general_ci
  • 数据库ORM使用laravel或者think-orm都可以
  • 时间字段建议使用DateTime

代码规范

PSR规范

代码应符合PSR4加载规范

类的命名为大写开头的驼峰式

<?php

namespace plugin\foo\app\controller;

class ArticleController
{

}

类的属性及方法以小写开头驼峰式

<?php

namespace plugin\foo\app\controller;

class ArticleController
{
    /**
     * 不需要鉴权的方法
     * @var array
     */
    protected $noNeedAuth = ['getComments'];

    /**
     * 获得评论
     * @param Request $request
     * @return Response
     * @throws BusinessException
     */
    public function getComments(Request $request): Response
    {

    }
}

注释

类的属性以及函数必须包含注释,包括概述、参数、返回类型

缩进

代码应该使用4个空格符来缩进,而不是使用制表符

流程控制

流程控制关键字(if for while foreach等)后面紧跟一个空格,流程控制代码开始花括号应该与结束圆括号在同一行。

foreach ($users as $uid => $user) {

}

临时变量名

建议以小写开头驼峰式命名(不强制)

$articleCount = 100;
编辑于2024-03-13 17:42:49 完善本页 +发起讨论
赞助商
QQ交流群 865805921