向開源大佬學習造輪子,拋磚引玉擼一個用來美團聯盟等CPS淘客的PHP SDK。

一隻碼發表於2021-01-04

背景

筆者是兼職獨立開發的,做過一些小程式,最近接觸到之前類似淘寶客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是世界上最好的語言,微信公眾號”一隻碼"。那就一直碼吧,有問題WX phpcoder666

相關文章