动态

详情 返回 返回

PHP 項目裏,哪些功能讓你一次次「重複造輪子」 - 动态 详情

寫 PHP 第 7 年了,我發現有些功能簡直像韭菜——項目一換就得重新割一遍。

手機號歸屬地、參數校驗、唯一 ID、地址解析……是不是你也寫過不止一次?

有些功能不難,但就是麻煩:

  • 做個小商城,要寫個 促銷規則引擎
  • 做個 API,就得來一遍 參數驗證器
  • 做用户註冊登錄,要寫個 TOTP 動態口令
  • 做支付結算,要造個 唯一 ID 生成器

這些功能並不是多複雜的“高大上算法”,但就是又常見、又繁瑣

寫一次沒什麼,寫三次、五次之後,就在想:怎麼又是它?


我乾脆自己寫了一堆包

後來我乾脆想:要不要把這些常見需求都封裝成 Composer 包?

這樣以後再遇到,直接 composer require 一下就完事。

於是就開始寫,寫着寫着,現在已經攢了十多個通用組件:

  • php-wechat-bill-parser:微信賬單解析器 - 支持壓縮包密碼自動解析與賬單數據智能提取,適用於賬單分析、自動化入賬、個人理財工具開發等場景。
  • php-alipay-bill-parser:支付寶賬單解析器 - 快速解析支付寶導出的賬單 Excel/CSV 文件,便於數據統計、財務對賬或個人收支分析。
  • php-utils:工具函數集合 - 提供常用的字符串、數組、日期、加密等工具函數,開箱即用,避免重複造輪子。
  • php-cache:多層緩存系統 - 封裝文件、Redis、Memcached 等多級緩存方案,支持鏈式降級,提升系統性能與容錯性。
  • php-china-division:行政區劃解析 / 身份證歸屬地 - 內置中國最新行政區劃數據,支持身份證省市區歸屬地識別。
  • php-error-log:多通道錯誤日誌 - 支持文件、數據庫、第三方服務(如 Sentry)的錯誤日誌記錄,便於排查與監控。
  • php-mobile-locator:手機號歸屬地查詢 - 本地號段庫,快速查詢手機號的省份、城市及運營商,支持離線使用。
  • php-address-parser:收貨地址解析 - 將用户輸入的中文收貨地址解析成省市區、街道、姓名、電話等結構化信息。
  • php-url-signer:簽名鏈接工具 - 為 URL 生成帶簽名和過期時間的安全鏈接,常用於文件下載、臨時授權等場景。
  • php-google-authenticator:TOTP 動態口令 - 兼容 Google Authenticator 的雙因素認證實現,適用於後台管理與登錄安全增強。
  • php-simple-rule-engine:輕量規則引擎 - 通過配置化的規則表達式,靈活實現業務條件判斷,常用於活動、風控、審批流等場景。
  • php-fortune-analyzer:八字命理分析 - 提供傳統命理排盤與八字分析的 PHP 實現,適合興趣研究、排盤應用開發。
  • php-promotion-engine:促銷策略引擎 - 支持滿減、折扣、滿贈等常見電商促銷規則,方便快速搭建營銷活動。
  • php-schema-validator:參數驗證器 - 基於 JSON Schema 的參數驗證工具,支持複雜數據結構校驗,常用於 API 入參校驗。
  • data-query-tool:數據查詢與導出工具 - 封裝 SQL 構造、查詢、分頁與數據導出(Excel/CSV),簡化常見後台報表開發。
  • php-id-generator:唯一 ID 生成器 - 提供分佈式唯一 ID 方案,支持雪花算法、UUID 等,適合高併發業務場景。

我也很好奇

因為最近不算忙,有空寫點「工作之外」的代碼,我也在想:

是不是很多人都和我一樣,在項目裏會遇到這些「小而瑣碎」但重複出現的需求?

如果有,那完全可以繼續寫,順手開源出來。

説不定下一個 composer 包,就能幫你省掉一堆時間。


想聽聽你的想法

所以我想問問大家:

在你的 PHP 項目裏,有沒有哪些功能讓你覺得“怎麼又得自己寫一遍”?

歡迎在評論區或者私信裏告訴我。

如果合適,我可以考慮做成通用包,開源出來。


最後,自我介紹一下 👋

我是一個寫 PHP 多年的後端開發者,平時喜歡封裝通用輪子。

上面這些組件,還有一些沒列到的,都整理在我的 GitHub:zxc7563598

如果你對我的項目感興趣或者對我感興趣想要我幫你寫點什麼,歡迎去看看,或者直接來找我聊聊。

説不定下一個包,就來自你的需求。

user avatar innsane 头像 shoushoudeqie 头像 startshineye 头像 headofhouchang 头像 cloud11y 头像 zailushang_5bdab5b6eaf7d 头像
点赞 6 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.