Yii2团队基于接口(interface)开发方式最佳实践

简介: Yii2团队基于接口(interface)开发方式最佳实践

前言

貌似很多公司都转向了使用Yii2做项目开发~

当团队开发人员过多的时候,对接口的定义就成了困难,再说,命名本来就是个玄学的东西。

之前早就听说过面向接口开发,这几天就试了下,感觉还不错,分享出来,一起进步。

最佳实践

单独存放的文件夹

我把接口文件放在项目中的custominterface 中,再和相应控制器所在文件夹进行对应存放,保证项目的目录的存放合理

interface

namespace app\custominterface\v2;
/**
 * Created by PhpStorm.
 * 尝试进行面向接口编程
 * User: yu
 * Date: 16/3/18
 * Time: 10:42
 */
interface LinksInterface {
    /**
     * 列出这个订单下的全部链接
     * @return mixed
     */
    public function actionList();
    /**
     * 添加一个链接
     * @return mixed
     */
    public function actionAdd();
    /**
     * 审核
     * @return mixed
     */
    public function actionCheck();
    /**
     * 删除自己的链接
     * @return mixed
     */
    public function actionDel();
    /**
     * 这是一个测试的例子
     * @return mixed
     */
    public function actionTest();
}

通过接口定义方法名的方式,提高团队开发效率。

implements

class LinkController extends Controller implements LinksInterface{

注意的是,如果在LinkController里没有对于的function,就会报错。

我用的IDE是PHPStrom,当implements了之后,会提示错误。

网络异常,图片无法展示
|

点击之后,会自动补全interface内的function,还有对应的注释。

完整的class

<?php
namespace app\patch\v2\controllers;
/**
 * Created by PhpStorm.
 * User: yu
 * Date: 16/3/21
 * Time: 15:20
 */
use Yii;
use yii\web\Controller;
use app\custominterface\v2\LinksInterface;
class  LinkController extends  Controller implements LinksInterface{
    /**
     * 列出这个订单下的全部链接
     * @return mixed
     */
    public function actionList()
    {
        // TODO: Implement actionList() method.
    }
    /**
     * 添加一个链接
     * @return mixed
     */
    public function actionAdd()
    {
        // TODO: Implement actionAdd() method.
    }
    /**
     * 审核
     * @return mixed
     */
    public function actionCheck()
    {
        // TODO: Implement actionCheck() method.
    }
    /**
     * 删除自己的链接
     * @return mixed
     */
    public function actionDel()
    {
        // TODO: Implement actionDel() method.
    }
    /**
     * 这是一个测试的例子
     * @return mixed
     */
    public function actionTest()
    {
        // TODO: Implement actionTest() method.
    }
}

总结

在多人开发中,或者团队内的成员水平差距比较大的情况下,采用面向接口的方式,可以提高开发效率。

: )

相关文章
|
18天前
|
JSON 安全 API
技术经验解读:使用Refit框架访问REST接口
技术经验解读:使用Refit框架访问REST接口
12 0
|
11月前
|
前端开发 JavaScript 测试技术
接口自动化测试平台--LRUN (一)
接口自动化测试平台--LRUN
|
11月前
|
JSON 测试技术 API
接口自动化测试平台--LRUN (二)
接口自动化测试平台--LRUN
|
运维 Kubernetes 安全
下篇(开始写代码):运维开发人员不得不看的K8S API实战
下篇(开始写代码):运维开发人员不得不看的K8S API实战
365 1
|
运维 前端开发 数据可视化
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(三)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
159 1
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(三)
|
前端开发 JavaScript 数据处理
Yii2.0框架的MVC架构是如何设计的?它的流程是什么样的?
Yii2.0框架的MVC架构是如何设计的?它的流程是什么样的?
123 0
|
数据可视化 测试技术 API
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(二)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
188 0
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(二)
|
数据可视化 JavaScript 前端开发
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(一)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
290 0
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(一)
|
JSON 前端开发 JavaScript
前后端分离的接口规范
前后端分离的接口规范
前后端分离的接口规范
|
SQL JSON Java
Java开发业务接口规范
规范点 说明 推荐方式 等级 文档唯一性 文档出处来源(人员和设备)必须统一,建议文档服务器,统一发布人。   重要 接口环境 要明确给出各个环境的调用地址。
4815 0