問題:gateway怎么在業(yè)務(wù)邏輯中添加一個(gè)定時(shí)器去做一個(gè)數(shù)據(jù)庫操作 或 執(zhí)行一個(gè)類下的某個(gè)方法
場(chǎng)景:用戶提交訂單后5分鐘后自動(dòng)取消
?
gateway啟動(dòng)方式 php start.php start
[attach]1389[/attach]
這種啟動(dòng)方式定時(shí)器無法識(shí)別Db,報(bào)錯(cuò)下面的截圖類似提示無法找到方法db。
[attach]1388[/attach]
例如有客戶端連接時(shí)執(zhí)行某個(gè)類下的test方法(命名空間沒有錯(cuò)誤)。
?
?
[attach]1390[/attach]
這個(gè)截圖是直接使用workerman來實(shí)現(xiàn)的結(jié)果沒有報(bào)錯(cuò)。
啟動(dòng)方式:php think worker:server.
?
?
?
use xx\xx\xx;
只代表使用xx\xx\xx的命名空間,不代表使用了就能自動(dòng)加載對(duì)應(yīng)文件。
自動(dòng)加載文件一般是設(shè)置 spl_autoload 或者 _autoload 來完成的,框架也是如此,所以tp應(yīng)該有個(gè)autoload文件里設(shè)置了spl_autoload從而設(shè)置了加載規(guī)則,需要加載tp的那個(gè)autoload文件才能實(shí)現(xiàn)自動(dòng)加載tp的類