您的位置:首页 > 编程语言 > PHP开发

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

2016-03-21 15:26 1011 查看

前言

貌似很多公司都转向了使用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.
}
}


总结

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

: )

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: