3.1 PhalApi 2.x 擴(kuò)展類庫(kù)

2018-07-28 21:24 更新

PhalApi框架擴(kuò)展類庫(kù)

擴(kuò)展類庫(kù)簡(jiǎn)介

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

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

此擴(kuò)展類庫(kù)可以是基于已有的第三方開源類庫(kù)的二次開發(fā)和集成,也可以是自主研發(fā)的組件、工具、模塊。通過(guò)使用可重用的擴(kuò)展類庫(kù),可大大減少開發(fā)成本,并且慢慢地會(huì)發(fā)現(xiàn),原來(lái)編程本來(lái)就是一件如此簡(jiǎn)單的事情,就像搭積木一樣。

正如我們一直提倡的:接口,從簡(jiǎn)單開始!

擴(kuò)展類庫(kù)列表

擴(kuò)展類庫(kù)composer名稱 擴(kuò)展類庫(kù)名稱 簡(jiǎn)要說(shuō)明
APK APK文件解包處理 對(duì)APK進(jìn)行解包,支持絕大部分APK文件處理。
Auth Auth權(quán)限擴(kuò)展 實(shí)現(xiàn)了基于用戶與組的權(quán)限認(rèn)證功能,與RBAC權(quán)限認(rèn)證類似,主要用于對(duì)服務(wù)級(jí)別的功能進(jìn)行權(quán)限控制。
phalapi/cli CLI擴(kuò)展類庫(kù) 可用于開發(fā)命令行應(yīng)用,基于GetOpt,主要作用是將命令參數(shù)進(jìn)行解析和處理。
Cluster 基于PhalApi的DB集群拓展 為了解決大量數(shù)據(jù)寫入分析的問(wèn)題,支持大量select、和大量insert。
CryptTraffic 移動(dòng)設(shè)備通信加密 用于移動(dòng)設(shè)備通信加密。
Excel PhalApi-Excel 讀取Excel。
Facepp face++接口 face++接口。
phalapi/fast-route FastRoute快速路由 基于FastRoute實(shí)現(xiàn),通過(guò)配置實(shí)現(xiàn)自定義路由配置,從而輕松映射service接口服務(wù)。
Image PhalApi-Image圖像處理 按照尺寸壓縮上傳圖片,參考自ThinkPhP圖形處理。
KafKa 簡(jiǎn)單舒適的PHP-KafKa拓展 基于rdKafKa封裝的一個(gè)簡(jiǎn)單舒適KafKa拓展。
Log4php 基于log4php的日志擴(kuò)展 兼容PhalApi日志的接口操作,同時(shí)基于log4php完成更多出色的日志工作。
Medoo Medoo數(shù)據(jù)庫(kù)驅(qū)動(dòng) Medoo數(shù)據(jù)庫(kù)驅(qū)動(dòng)。
OSS PhalApi-OSS阿里云OSS包 對(duì)阿里云的OSS文件服務(wù)器的封裝。
PHPExcel PhalApi-PHPExcel擴(kuò)展 提供了更為強(qiáng)大的Excel處理功能。
PHPMailer 基于PHPMailer的郵件發(fā)送 用于發(fā)送郵件。
PHPRPC 代理模式下phprpc協(xié)議的輕松支持 可用于phprpc協(xié)議的調(diào)用,服務(wù)端只需要簡(jiǎn)單添加入口即可完美切換。
Pay 基于PhalApi的第三方支付擴(kuò)展 支持微信支付和支付寶支付。
Payment 微信支付及支付寶支付擴(kuò)展 支持微信支付和支付寶支付。
Qiniu 七牛云存儲(chǔ)接口調(diào)用 可用于將圖片上傳到七牛云存儲(chǔ),或者七牛SDK包提供的其他功能。
RabbitMQ PhalApi-RabbitMQ隊(duì)列拓展 基于隊(duì)列標(biāo)桿中的RabbitMQ的隊(duì)列擴(kuò)展。
Redis 基于PhalApi的Redis拓展 提供更豐富的Redis操作,并且進(jìn)行了分庫(kù)處理可以自由搭配。
SMS PhalApi-SMS容聯(lián)云短信服務(wù)器擴(kuò)展 基于容聯(lián)云通訊,發(fā)送短信。
Smarty 基于PhalApi的Smarty擴(kuò)展 基于老牌的PHP模版引擎Smarty,提供視圖渲染功能。
SOAP SOAP擴(kuò)展 使用PHP官方提供的SOAP協(xié)議,用于搭建Web Services。
Swoole Swoole擴(kuò)展 基于swoole,支持的長(zhǎng)鏈接和異步任務(wù)實(shí)現(xiàn)。
phalapi/task 計(jì)劃任務(wù)擴(kuò)展 用于后臺(tái)計(jì)劃任務(wù)的調(diào)度。
ThirdLogin 第三方登錄擴(kuò)展 第三方登錄。
Translate PhalApi-Translate百度地圖翻譯擴(kuò)展 基于百度翻譯的翻譯。
UCloud 圖片上傳擴(kuò)展 用于圖片文件上傳。
User User用戶擴(kuò)展 提供用戶、會(huì)話和集成第三方登錄。
View Vuew視圖擴(kuò)展 提供視圖渲染功能。
Wechat 微信開發(fā)擴(kuò)展 可用于微信的服務(wù)號(hào)、訂閱號(hào)、設(shè)備號(hào)等功能開發(fā)。
Xhprof 性能分析工具PhalApi-Xhprof 對(duì)Facebook開源的輕量級(jí)PHP性能分析工具進(jìn)行了封裝拓展。
YoukuClient 優(yōu)酷開放平臺(tái)接口擴(kuò)展 用于調(diào)用優(yōu)酷開放平臺(tái)的接口。
Zip PhalApi-Zip壓縮文件處理 用于處理文件壓縮。

溫馨提示:未有composer鏈接的,表示尚未從1.x遷移到2.x版本,可在原來(lái)的Phalapi-Library擴(kuò)展類庫(kù)項(xiàng)目中查閱。

擴(kuò)展類庫(kù)的使用

對(duì)于某個(gè)擴(kuò)展類庫(kù),當(dāng)需要使用時(shí),可以按“安裝、配置、使用”三步曲進(jìn)行。

安裝

擴(kuò)展類庫(kù)的安裝很簡(jiǎn)單,在PhalApi 2.x版本下,直接通過(guò)在composer.json文件中配置需要依賴的擴(kuò)展類庫(kù)即可。

例如,項(xiàng)目本身自帶的Task擴(kuò)展類庫(kù):

{
    "require": {
        "phalapi/task": "2.0.*"
    }
}

配置好后,執(zhí)行composer update更新操作即可。

至此,便完成了擴(kuò)展類庫(kù)的安裝,相當(dāng)簡(jiǎn)單。

配置注冊(cè)

根據(jù)不同的擴(kuò)展類庫(kù),其配置和注冊(cè)的情況不同,有些不需要配置也不需要注冊(cè),有些需要配置、注冊(cè)中的一種,有些可能配置、注冊(cè)都需要。

何為配置?

這里說(shuō)的配置是指在項(xiàng)目配置文件./config/app.php內(nèi)添加對(duì)應(yīng)擴(kuò)展類庫(kù)的配置,配置選項(xiàng)的路徑通常為:app.擴(kuò)展類庫(kù)名稱。此外,有的擴(kuò)展類庫(kù)可能還需要配置數(shù)據(jù)庫(kù)配置文件./config/dbs.php。

何為注冊(cè)?

而注冊(cè)則是指將對(duì)應(yīng)的擴(kuò)展類庫(kù)注冊(cè)到DI容器\PhalApi\DI()中,需要在./config/di.php文件中配置。注冊(cè)的服務(wù)名稱通常為擴(kuò)展類庫(kù)的小寫名稱。

注冊(cè)好后,便可以在項(xiàng)目需要的位置進(jìn)行調(diào)用了。

使用

不同的擴(kuò)展類庫(kù),其提供的功能不同,所以具體的使用也不盡相同。當(dāng)使用到某個(gè)擴(kuò)展類庫(kù)時(shí),可以參考對(duì)應(yīng)的文檔說(shuō)明。有的擴(kuò)展可能需要調(diào)用其內(nèi)部接口才能實(shí)現(xiàn)對(duì)應(yīng)的功能,有些擴(kuò)展可能提供了直接可用的接口服務(wù)。

擴(kuò)展類庫(kù)開發(fā)指南

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

  • 代碼:遵循composer和psr-4的風(fēng)格,并盡量Lite.php為入口類,一個(gè)擴(kuò)展,一個(gè)Git項(xiàng)目,源代碼可放置在自己的Git倉(cāng)庫(kù);
  • composer:建議統(tǒng)一注冊(cè)在phalapi下,可聯(lián)系dogstar;
  • 配置:統(tǒng)一放置在\PhalApi\DI()->config->get('app.擴(kuò)展包名')中,避免配置沖突;
  • 文檔:統(tǒng)一提供README.md文件,對(duì)擴(kuò)展類庫(kù)的功能、安裝和配置、使用示例以及運(yùn)行效果進(jìn)行說(shuō)明;

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

在應(yīng)用項(xiàng)目的實(shí)際開發(fā),我們也可以有意識(shí)地將一些通用的工具和操作與業(yè)務(wù)分離,以便可以在項(xiàng)目?jī)?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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)