學習workerman以前須要知道的幾種php回調寫法

 

 

在workerman中會常常使用,咱們先寫一個回調函數,當某個行爲被觸發後使用該函數處理相關邏輯。php

在PHP中最經常使用的幾種回調寫法以下node

匿名函數作爲回調微信

匿名函數(Anonymous functions),也叫閉包函數(closures),容許臨時建立一個沒有指定名稱的函數。最常常用做回調函數(callback)參數的值。固然,也有其它應用的狀況。yii2

匿名函數的回調常常將其賦給一個變量(或一個對象的屬性)閉包

 

 

最終結果會輸出11。框架

這中間有一個use的用法,如今不少框架都在使用,包括我本身發佈的 yii2-wx 在處理微信付款結果通知的時候也有用到。yii

簡單點說就是當咱們設置了匿名函數的時候,能夠從父做用域繼承變量,好比以下代碼函數

 

 

則結果是21,沒錯,匿名函數體可使用繼承過來的變量 $number。學習

一點要注意的是,這種繼承是在函數被定義的時候就肯定了,好比以下代碼this

 

 

結果仍是21,後面從新的賦值並無起到做用。

那咱們如何解決這個問題那?

@nai8@

只須要將繼承的變量設置爲引用便可,以下

 

 

搞定了,22出現了。1 + 10 + 11;

在workerman中通常匿名函數做爲回調用法以下

 

 

普通函數做爲回調

這種用法並無什麼能夠多說的,不像匿名函數那麼多細節,直接看代碼。

 

 

 

 在這裏沒有use用法,而且函數定義和賦值給變量順序誰上誰下均可以,在語法上這只是對add的一次變量賦值,之因此能做爲回調是咱們使用了add() 致使的,在workerman中通常用法以下

 

 

類方法做爲回調

學習了前面的知識,類的方法做爲回調就好學了,一句話:將一個類的公共方法做爲回調函數;

直接上在workerman中的用法

 

 

咱們將MyClass的onMsg方法做爲回調賦值給$worker->onMessage。

類靜態方法作爲回調

這個最簡單了,看代碼。

 

 

咱們將MyClass的靜態方法onMsg方法做爲回調賦值給worker->onMessage,由於是靜態方法,在onMsg內不能用this哈。

以上就是學習workerman以前須要知道的幾種php回調寫法的詳細內容

有須要學習交流的友人請加入Swoole交流羣的我們一塊兒,有問題一塊兒交流,一塊兒進步!前提是你是學技術的。感謝閱讀!

點此加入該羣​jq.qq.com
相關文章
相關標籤/搜索