原创 PHP之 微信APP支付之“簽名錯誤”踩的坑

做微信APP支付支付的人,初次調起微信支付,肯定有遇見“簽名錯誤”的問題,我在做微信APP支付之初,就碰見了這個錯誤,現在回想起來,當時,各種找文檔,帖子,然而,很多都說的含糊不清,甚至,抄別人的,整得人很無語,而,最要命的是,微信的“

原创 PHP之 向下取整 保留2位小數

情景:比如平臺用戶得了一筆 79999.2 的幣,幣與人民幣兌換比例爲 1000:1,你需要將這比“幣”轉換爲人民幣存庫 要求:保留兩位小數,向下取整 代碼:  $coins = 79999.2; $p = 1000; echo

原创 PHP - 設計模式之 原型模式

原型模式 概述部分 1、與工廠模式相似,都是用來創建對象。 2、與工廠模式的實現不同,原型模式是先創建好一個原型對象,然後,通過clone原型對象,來創建新的對象。這樣就免去了類創建時,重複的初始化操作。 3、原型模式適用於大對象的創建。

原创 PHP之 微信APP支付之APP端“code=-1”報錯的坑

相關文檔 相關文檔 APP支付業務流程: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3 問題來了 微信APP支付,初次,在【步驟3】的時候,因爲API祕

原创 PHP - 設計模式之 觀察者模式

觀察者模式 概述部分 1、觀察者模式(observer),當一個對象狀態發生改變時,依賴它的對象全部都會收到通知,並自動更新 2、場景:一個事件發生之後,要執行一連串的更新操作。傳統的編程方式,就是直接在事件代碼的後面,加入處理邏輯。但當

原创 PHP - 設計模式之 寫在最後

面向對象編程的基本原則 1、單一職責原則。一個類,只需要做好一件事情,不要一個類就完成所有的事情,我們應該將其拆分成小的模塊,每個負責每個的職責,切勿貪多。 2、開發封閉原則。一個類,應該可以擴展,但不可修改。不應該使用修改來增加功能,而

原创 PHP之 關於騰訊雲“請求籤名Signature”踩的坑

Signature報錯: The provided credentials could not be validated. Please check your signature is correct。 前文引述: 做直播項目,如果你

原创 PHP之 直播開發後端需要做什麼——準備工作

目前,直播應用於各大平臺,可謂盛極一時。對於沒有開發過的人,可能僅瞭解個大概,但談到具體要怎麼開發,可能就不知道其中梗概了。 作爲PHP後端開發,一開始在接到“直播開發”的任務時,也是一頭霧水,代碼不知何起一臉懵逼。於是上網搜索

原创 PHP - 設計模式之 數據對象映射模式

數據對象映射模式 1、數據對象映射模式,是將對象和數據存儲映射起來,對一個對象的操作會映射爲對數據存儲的操作 2、在代碼中實現數據對象映射模式,我們將實現一個ORM類,將複雜的SQL語句,映射成對象屬性的操作 3、結合使用數據對象映射模式

原创 PHP - 設計模式之 代理模式

代理模式 1、在客戶端和實體之間,建立一個代理對象(proxy),客戶端對實體進行的操作,全部委派給代理對象,隱藏實體的具體實現細節。 2、Proxy還可以與業務代碼分離,部署到另外的服務器。業務代碼中通過RPC來委派任務。 註記: 在傳

原创 PHP - 設計模式之 裝飾器模式

裝飾器模式 1、裝飾器模式(Decorator),可以動態地添加修改類的功能 2、一個類提供了一項功能,如果要修改並添加額外的功能,傳統的編程模式,需要寫一個子類去繼承它,並重新實現類的方法。 3、使用裝飾器模式,僅僅需要在運行時,添加一

原创 PHP - 設計模式之 PSR-0規範

PSR-0的三條規範 1、PHP的命名空間必須與絕對路徑一致 2、類名的首字母必須要大寫 3、除了入口文件外,其他的“.php”文件必須只有一個類 開發一個PSR-0規範的基礎框架的要求 1、全部使用命名空間 2、所有的PHP文件必須自動

原创 PHP - 設計模式之 魔術方法

__get和__set   1、實例化一個類,然後,調用一個未定義的方法     訪問:   2、但如果我們使用了__set和__get方法,也就是在該object類中,加入這兩個方法,看看會怎麼樣?     我們給一個未定義的屬

原创 PHP - 設計模式之 策略模式

策略模式 1、策略模式,將一組特定的行爲或算法封裝成類,以適應某些特定的上下文環境,這種模式就叫做策略模式。 2、實際應用舉例,如某個電商平臺,針對男性用戶和女性用戶,要跳到不同的商品類目,並且,所有的廣告位展示不同的廣告。 3、使用策略

原创 PHP - 設計模式之 適配器模式

適配器模式 1、適配器模式,可以將截然不同的函數接口封裝成統一的API 2、實際應用舉例,PHP的數據庫有MySQL、mysqli、PDO三種,可以使用適配器模式,統一成一致。類似的場景還有cache適配器,將memcache,redis