擴(kuò)展庫:可重用的擴(kuò)展類庫

2018-11-21 21:21 更新

PhalApi框架擴(kuò)展類庫

-- 致力于與開源項(xiàng)目一起提供企業(yè)級的解決方案!

此部分類庫為 PhalAPi框架 下的擴(kuò)展類庫包,各個(gè)擴(kuò)展包各自獨(dú)立,可以根據(jù)需要自動(dòng)下載安裝。

雖然此部分的擴(kuò)展很多都是基于已有的第三方開源實(shí)現(xiàn),或者開發(fā)同學(xué)自己實(shí)現(xiàn)分享的,但我們所做的不只是代碼的搬運(yùn)工,更多的是在系統(tǒng)架構(gòu)上的組件庫重用,以及在此引入 防腐層 ,避免進(jìn)入 供應(yīng)商鎖定(Vendor Lock-In) 

除此之外,可以在PhalApi框架的基礎(chǔ)上,快速引入符合我們國內(nèi)實(shí)際項(xiàng)目開發(fā)需要的各種擴(kuò)展。如時(shí),您會(huì)發(fā)現(xiàn),原來編程本來就是一件如此簡單的事情,就像搭積木一樣。

正如我們一直推薦的:

接口,從簡單開始!

目前已提供的擴(kuò)展類庫 - 針對使用者

1、微信開發(fā)

此擴(kuò)展可用于微信的服務(wù)號、訂閱號、設(shè)備號等功能開發(fā),則PhalApi框架下簡單配置即可開發(fā)使用。

更多請點(diǎn)這里查看使用文檔

2、代理模式下phprpc協(xié)議的輕松支持

此擴(kuò)展可用于phprpc協(xié)議的調(diào)用,服務(wù)端只需要簡單添加入口即可完美切換。

更多請點(diǎn)這里查看使用文檔

3、基于PHPMailer的郵件發(fā)送

此擴(kuò)展可用于發(fā)送郵件。

更多請點(diǎn)這里查看使用文檔

4、優(yōu)酷開放平臺接口調(diào)用

此擴(kuò)展可用于調(diào)用優(yōu)酷開放平臺的接口。

更多請點(diǎn)這里查看使用文檔

5、七牛云存儲接口調(diào)用

此擴(kuò)展可以用于將圖片上傳到七牛CDN,或者其他七牛接口的調(diào)用。

更多請點(diǎn)這里查看使用文檔

6、用戶、會(huì)話和第三方登錄集成

此類庫主要特點(diǎn)有:

  • 1、可以和第三方登錄集成,包括:微信登錄、新浪登錄、QQ登錄
  • 2、為客戶端提供了直接可以調(diào)用的登錄接口
  • 3、為服務(wù)端提供了直接可以檢測用戶登錄態(tài)的操作
  • 4、支持token落地、高效緩存和分布式的數(shù)據(jù)庫存儲
  • 5、展示了如何開發(fā)一個(gè)項(xiàng)目級的類庫、包括數(shù)據(jù)庫配置、翻譯等

    更多請點(diǎn)這里查看使用文檔

7、swoole支持下的長鏈接和異步任務(wù)實(shí)現(xiàn)

目前,此擴(kuò)展類庫提供了:

8、新型計(jì)劃任務(wù)

此擴(kuò)展類型用于后臺計(jì)劃任務(wù)的調(diào)度,主要功能點(diǎn)有:

  • 1、提供了Redis/文件/數(shù)據(jù)庫三種MQ隊(duì)列
  • 2、提供了本地和遠(yuǎn)程兩種調(diào)度方式
  • 3、以接口的形式實(shí)現(xiàn)計(jì)劃任務(wù)

更多請點(diǎn)這里查看使用文檔

9、Auth 權(quán)限擴(kuò)展 (由@黃苗筍提供)

實(shí)現(xiàn)了基于用戶與組的權(quán)限認(rèn)證功能,與RBAC權(quán)限認(rèn)證類似,主要用于對服務(wù)級別的功能進(jìn)行權(quán)限控制,主要功能點(diǎn)有:

  • 1、提供了接口服務(wù)維度的權(quán)限驗(yàn)證
  • 2、提供了可配置的組與規(guī)則
  • 3、支持免檢用戶

更多請點(diǎn)這里查看使用文檔

11、FastRoute快速路由

此擴(kuò)展基于 FastRoute 實(shí)現(xiàn),需要 PHP 5.4.0 及以上版本,可以通過配置實(shí)現(xiàn)自定義路由配置,從而輕松映射到PhalApi中的service接口服務(wù)。,主要有:

  • 1、基于FastRoute實(shí)現(xiàn)
  • 2、需要PHP 5.4.0 及以上版本
  • 3、通過配置文件來實(shí)現(xiàn)自定義路由,并映射到service
  • 4、可兼容無路由的歷史URI

    更多請點(diǎn)這里查看使用文檔

12、基于PhalApi的DB集群拓展DB_Cluster (由@喵了個(gè)咪提供)

為應(yīng)對海量數(shù)據(jù)分析與統(tǒng)計(jì),提供針對分表分庫統(tǒng)一封裝的數(shù)據(jù)庫操作接口,主要用于解決大量數(shù)據(jù)寫入分析的問題。請注意:V0.1bate版本,很多功能尚不完善,只提供技術(shù)交流使用,請不要用于生產(chǎn)環(huán)境。主要特點(diǎn)有:

  • 1、適用于大量select和大量的insert的業(yè)務(wù)場景
  • 2、基于架構(gòu)思維的實(shí)現(xiàn)
  • 3、分表分庫算法介紹
  • 4、基準(zhǔn)測試對比

    更多請點(diǎn)這里查看使用文檔

13、基于PhalApi的Redis_Base拓展 (由@喵了個(gè)咪提供)

主要提供更豐富的Redis操作,并且進(jìn)行了分庫處理可以自由搭配

擴(kuò)展開發(fā)指南 - 針對開發(fā)者

為了統(tǒng)一擴(kuò)展類庫的風(fēng)格、便于用戶更容易使用,這里建議:

  • 代碼:統(tǒng)一放置在Library目錄下,各擴(kuò)展包各自一個(gè)目錄,盡量Lite.php入口類,遵循PEAR包命名規(guī)范;
  • 配置:統(tǒng)一放置在DI()->config->get('app.擴(kuò)展包名')中,避免配置沖突;
  • 文檔:統(tǒng)一提供WIKI文件對擴(kuò)展類庫的功能、安裝和配置、使用示例以及運(yùn)行效果進(jìn)行說明;

1.19.4 從微架構(gòu)到擴(kuò)展類庫的演進(jìn)

在應(yīng)用項(xiàng)目的實(shí)際開發(fā),我們也可以有意識地將一些通用的工具和操作與業(yè)務(wù)分離,以便可以在項(xiàng)目內(nèi)更好地重用。當(dāng)抽離成工具或者通用類后,則可以進(jìn)一步推廣到公司內(nèi)其他項(xiàng)目,即組件復(fù)用。如果覺得可以,則發(fā)揚(yáng)開源精神,分享給社區(qū)。這也是符合從微架構(gòu)到應(yīng)用構(gòu)架、系統(tǒng)架構(gòu)、乃至企業(yè)架構(gòu)的演進(jìn)之路。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號