此部分類庫為PhalApi框架下可重用的擴展類庫,各個擴展相自獨立,可以根據(jù)需要自動安裝使用。
此擴展類庫可以是基于已有的第三方開源類庫的二次開發(fā)和集成,也可以是自主研發(fā)的組件、工具、模塊。通過使用可重用的擴展類庫,可大大減少開發(fā)成本,并且慢慢地會發(fā)現(xiàn),原來編程本來就是一件如此簡單的事情,就像搭積木一樣。
正如我們一直提倡的:接口,從簡單開始!
擴展類庫composer名稱 | 擴展類庫名稱 | 簡要說明 |
---|---|---|
APK | APK文件解包處理 | 對APK進行解包,支持絕大部分APK文件處理。 |
Auth | Auth權(quán)限擴展 | 實現(xiàn)了基于用戶與組的權(quán)限認證功能,與RBAC權(quán)限認證類似,主要用于對服務級別的功能進行權(quán)限控制。 |
phalapi/cli | CLI擴展類庫 | 可用于開發(fā)命令行應用,基于GetOpt,主要作用是將命令參數(shù)進行解析和處理。 |
Cluster | 基于PhalApi的DB集群拓展 | 為了解決大量數(shù)據(jù)寫入分析的問題,支持大量select、和大量insert。 |
CryptTraffic | 移動設備通信加密 | 用于移動設備通信加密。 |
Excel | PhalApi-Excel | 讀取Excel。 |
Facepp | face++接口 | face++接口。 |
phalapi/fast-route | FastRoute快速路由 | 基于FastRoute實現(xiàn),通過配置實現(xiàn)自定義路由配置,從而輕松映射service接口服務。 |
Image | PhalApi-Image圖像處理 | 按照尺寸壓縮上傳圖片,參考自ThinkPhP圖形處理。 |
KafKa | 簡單舒適的PHP-KafKa拓展 | 基于rdKafKa封裝的一個簡單舒適KafKa拓展。 |
Log4php | 基于log4php的日志擴展 | 兼容PhalApi日志的接口操作,同時基于log4php完成更多出色的日志工作。 |
Medoo | Medoo數(shù)據(jù)庫驅(qū)動 | Medoo數(shù)據(jù)庫驅(qū)動。 |
OSS | PhalApi-OSS阿里云OSS包 | 對阿里云的OSS文件服務器的封裝。 |
PHPExcel | PhalApi-PHPExcel擴展 | 提供了更為強大的Excel處理功能。 |
PHPMailer | 基于PHPMailer的郵件發(fā)送 | 用于發(fā)送郵件。 |
PHPRPC | 代理模式下phprpc協(xié)議的輕松支持 | 可用于phprpc協(xié)議的調(diào)用,服務端只需要簡單添加入口即可完美切換。 |
Pay | 基于PhalApi的第三方支付擴展 | 支持微信支付和支付寶支付。 |
Payment | 微信支付及支付寶支付擴展 | 支持微信支付和支付寶支付。 |
Qiniu | 七牛云存儲接口調(diào)用 | 可用于將圖片上傳到七牛云存儲,或者七牛SDK包提供的其他功能。 |
RabbitMQ | PhalApi-RabbitMQ隊列拓展 | 基于隊列標桿中的RabbitMQ的隊列擴展。 |
Redis | 基于PhalApi的Redis拓展 | 提供更豐富的Redis操作,并且進行了分庫處理可以自由搭配。 |
SMS | PhalApi-SMS容聯(lián)云短信服務器擴展 | 基于容聯(lián)云通訊,發(fā)送短信。 |
Smarty | 基于PhalApi的Smarty擴展 | 基于老牌的PHP模版引擎Smarty,提供視圖渲染功能。 |
SOAP | SOAP擴展 | 使用PHP官方提供的SOAP協(xié)議,用于搭建Web Services。 |
Swoole | Swoole擴展 | 基于swoole,支持的長鏈接和異步任務實現(xiàn)。 |
phalapi/task | 計劃任務擴展 | 用于后臺計劃任務的調(diào)度。 |
ThirdLogin | 第三方登錄擴展 | 第三方登錄。 |
Translate | PhalApi-Translate百度地圖翻譯擴展 | 基于百度翻譯的翻譯。 |
UCloud | 圖片上傳擴展 | 用于圖片文件上傳。 |
User | User用戶擴展 | 提供用戶、會話和集成第三方登錄。 |
View | Vuew視圖擴展 | 提供視圖渲染功能。 |
微信開發(fā)擴展 | 可用于微信的服務號、訂閱號、設備號等功能開發(fā)。 | |
Xhprof | 性能分析工具PhalApi-Xhprof | 對Facebook開源的輕量級PHP性能分析工具進行了封裝拓展。 |
YoukuClient | 優(yōu)酷開放平臺接口擴展 | 用于調(diào)用優(yōu)酷開放平臺的接口。 |
Zip | PhalApi-Zip壓縮文件處理 | 用于處理文件壓縮。 |
溫馨提示:未有composer鏈接的,表示尚未從1.x遷移到2.x版本,可在原來的Phalapi-Library擴展類庫項目中查閱。
對于某個擴展類庫,當需要使用時,可以按“安裝、配置、使用”三步曲進行。
擴展類庫的安裝很簡單,在PhalApi 2.x版本下,直接通過在composer.json文件中配置需要依賴的擴展類庫即可。
例如,項目本身自帶的Task擴展類庫:
{
"require": {
"phalapi/task": "2.0.*"
}
}
配置好后,執(zhí)行composer update
更新操作即可。
至此,便完成了擴展類庫的安裝,相當簡單。
根據(jù)不同的擴展類庫,其配置和注冊的情況不同,有些不需要配置也不需要注冊,有些需要配置、注冊中的一種,有些可能配置、注冊都需要。
這里說的配置是指在項目配置文件./config/app.php內(nèi)添加對應擴展類庫的配置,配置選項的路徑通常為:app.擴展類庫名稱
。此外,有的擴展類庫可能還需要配置數(shù)據(jù)庫配置文件./config/dbs.php。
而注冊則是指將對應的擴展類庫注冊到DI容器\PhalApi\DI()
中,需要在./config/di.php文件中配置。注冊的服務名稱通常為擴展類庫的小寫名稱。
注冊好后,便可以在項目需要的位置進行調(diào)用了。
不同的擴展類庫,其提供的功能不同,所以具體的使用也不盡相同。當使用到某個擴展類庫時,可以參考對應的文檔說明。有的擴展可能需要調(diào)用其內(nèi)部接口才能實現(xiàn)對應的功能,有些擴展可能提供了直接可用的接口服務。
為了統(tǒng)一擴展類庫的風格、便于用戶更容易使用,這里建議:
\PhalApi\DI()->config->get('app.擴展包名')
中,避免配置沖突;在應用項目的實際開發(fā),我們也可以有意識地將一些通用的工具和操作與業(yè)務分離,以便可以在項目內(nèi)更好地重用。當抽離成工具或者通用類后,則可以進一步推廣到公司內(nèi)其他項目,即組件復用。如果覺得可以,則發(fā)揚開源精神,分享給社區(qū)。這也是符合從微架構(gòu)到應用構(gòu)架、系統(tǒng)架構(gòu)、乃至企業(yè)架構(gòu)的演進之路。
+
更多建議: