向开源大佬学习造轮子,抛砖引玉撸一个用来美团联盟等CPS淘客的PHP SDK。

背景

笔者是兼职独立开发的,做过一些小程序,最近接触到之前类似淘宝客CPS的另一领域本地化生活的非之前电商的CPS,比如外卖,酒店,社区团购等相关的CPS,美团联盟这块官方只有接口文档,并没有SDK,所以就想自己开发一个的同时再熟练下PHP扩展包开发。

然后基于扩展包仅支持美团联盟过于单调,就想能不能做一个像easywechat哪有既方便易用文档又完善的淘客SDK呢,查找github都是零零散散的,要么CPS种类不全,要么文档糟糕,更新赶不上去,显然是这个轮子有一定的价值去造。

所以想弥补这方面的不足,众人拾柴火焰高,搞一个easyTaoke的仓库,率先整上一个新的相对稀缺的美团的SDK到github,进行抛砖引玉。

撸了两个小时已online, github.com/CoderOpen/EasyTaoKe

实操过程

制作composer包其实整体上并不是很难,可以参考大佬的文章。
简单地说,先按照一定规范,使用脚手架生成包目录

  1. 填充好composer.json中的namespace等自动加载,已经依赖的其他composer包,比如本SDK使用了guzzle
  2. 开发相关包功能逻辑
  3. 单元测试以及包功能测试
  4. 提交代码到github,然后同步到php官方packagist.org/about 上去
    这样使用者就能直接 composer require XXXX 就可以安装到他的项目中了,想象一下,自己开发的东西能让很多人使用,肯定是一件特别有意义的事儿
功能逻辑

核心是先创建一个工厂类,使用门面的方式来自动加载相应目录下的各种CPS功能。

class Factory
{
    /**
     * @param string $name
     * @param array  $config
     */
    public static function make($name, array $config)
    {
        $namespace   = ucwords($name);
        $application = "\\OneCoder\\EasyTaoKe\\{$namespace}\\Application";

        return new $application($config);
    }

    /**
     * Dynamically pass methods to the application.
     *
     * @param string $name
     * @param array  $arguments
     *
     * @return mixed
     */
    public static function __callStatic($name, $arguments)
    {
        return self::make($name, ...$arguments);
    }
}

Base目录放置公共的接口类,比如建一个基础的应用类/Base/Application 类方便扩展。
各个应用文件下一个 MeiTuanUnion \Application 类实现继承基础应用类


<?php
/**
 * 2021年01月02日 23:32
 */

namespace OneCoder\EasyTaoKe\MeiTuanUnion;

use Mockery\Exception;
use OneCoder\EasyTaoKe\Base\Application as BaseApplication;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Stream;

/***
 * 美团联盟应用
 * Class Application
 *
 * @package OneCoder\EasyTaoKe\MeiTuanUnion
 */
class Application extends BaseApplication
{
    const SIGNATURE_PARAM_NAME = 'sign';  //美团回调参数签名字段名称
    ——
    ——
}

先是构造函数进行初始化配置SDK传参,其次定义好各种枚举常量,然后就是功能性各个接口。

开源源码一定要格式化好,注释详细,文档齐全,我就想做这么一件事儿.

题外话

上面有个链接是之前发的CPS小程序原理讲解的链接(提到过相关应用)。可能某些老哥觉得某些字眼和推广有关,就死盯着然后也举报了。

至于文章有没有用,我觉得大家眼睛是雪亮的,原理结合应用,能帮助到人才有价值,我想开源的意义也是如此吧,利他利己。换句话说单从价值上意义上来说,即便大谈阔论分布式架构,PHP底层实现原理,没人看没人能从中学到东西,我觉得也是浪费大家的时间。

向开源大佬学习造轮子,抛砖引玉撸一个用来CPS淘客联盟PHP SDK。

附原文如下:

传送门 github.com/CoderOpen/EasyTaoKe

想撸一个比较完善,文档齐全的CPS PHP开源SDK,像easywechat大佬学习,于是命名为easyTaoke,感兴趣的可以加我微信phpcoder666一起搞事情!
SDK本身意在开源哈,比较规范,比现有的sdk文档齐全易用
原链接:博客:昨晚发了两小时学习了PHP composer包制作,然后撸了一个用来CPS赚钱...

本作品采用《CC 协议》,转载必须注明作者和本文链接
PHP是世界上最好的编程语言,它能快速的进行技术变现,让代码多一份价值。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 8

要让别人使用,还需要有详细的文档,以及测试用例

3年前 评论

@tu6ge-php 是的,其他的都有了的,要想让别人用,必须得从其他方面突出优势,所以老哥这有啥好的 开源项目文档管理web网站开源项目

3年前 评论
tu6ge-php 3年前
PHP之父一只码 (作者) (楼主) 3年前
tu6ge-php 3年前
PHP之父一只码 (作者) (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
UFO @ 一只码科技
文章
9
粉丝
36
喜欢
77
收藏
174
排名:506
访问:1.6 万
私信
所有博文
社区赞助商