国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workman如何寫一個(gè)適合熱更新的啟動(dòng)php文件

zhouciming

workman如何寫一個(gè)適合熱更新的啟動(dòng)php文件?。?br /> 想用php寫一個(gè)手游服務(wù)端,借用workerman這個(gè)框架。而且有些邏輯經(jīng)常需要改動(dòng)的,所以要考慮熱更新問題,因?yàn)槭欠?wù)端,所以不能經(jīng)常重啟。求一個(gè)適合熱更新的啟動(dòng)php文件!

7998 3 0
3個(gè)回答

walkor 打賞

如果是長連接可以直接使用https://github.com/walkor/gatewayworker
支持熱更新,并且支持多協(xié)議(多客戶端),支持多機(jī)部署

  • 暫無評論
walkor 打賞

如果是短鏈接,用Workerman做。
需要一個(gè)自動(dòng)加載機(jī)制,實(shí)現(xiàn)熱部署,Workerman自帶一個(gè)自動(dòng)加載Workerman/Autoloader.php
可以直接使用

下面是一個(gè)例子:
1、新建一個(gè)服務(wù)啟動(dòng)腳本 http.php

<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';
$worker = new Worker('http://0.0.0.0:1234');
$worker->count=3;
$worker->onMessage = function($connection, $data)
{
      $connection->send(User::getEmail());
};
Worker::runAll();

2、當(dāng)前目錄新建一個(gè)User.php

<?php
class User
{
    public static function getEmail()
    {
        return 'test@test.com';
    }
}

這樣所有的業(yè)務(wù)邏輯都通過自動(dòng)加載機(jī)制加入到內(nèi)存,就可以運(yùn)行reload實(shí)現(xiàn)熱更新了

  • 暫無評論
jzgenius

關(guān)于熱更新,Reload留給后來者:
如walkor所述,代表著:
1、啟動(dòng)腳本http.php無法熱更新,因此這個(gè)文件邏輯應(yīng)極盡簡單;
2、User是具體的業(yè)務(wù)邏輯class,并在php中 User:: 命名空間幾乎等于 require或include 的作用,所以這里就是load的過程了;

然后,我是PHP新手,這種問題我遇到了,相信其他PHP新手也會(huì)遇到,特留言,易變彌補(bǔ)doc的不足。

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??