workman如何寫一個適合熱更新的啟動php文件??!
想用php寫一個手游服務(wù)端,借用workerman這個框架。而且有些邏輯經(jīng)常需要改動的,所以要考慮熱更新問題,因為是服務(wù)端,所以不能經(jīng)常重啟。求一個適合熱更新的啟動php文件!
如果是短鏈接,用Workerman做。
需要一個自動加載機(jī)制,實現(xiàn)熱部署,Workerman自帶一個自動加載Workerman/Autoloader.php
可以直接使用
下面是一個例子:
1、新建一個服務(wù)啟動腳本 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)前目錄新建一個User.php
<?php
class User
{
public static function getEmail()
{
return 'test@test.com';
}
}
這樣所有的業(yè)務(wù)邏輯都通過自動加載機(jī)制加入到內(nèi)存,就可以運行reload實現(xiàn)熱更新了
關(guān)于熱更新,Reload留給后來者:
如walkor所述,代表著:
1、啟動腳本http.php無法熱更新,因此這個文件邏輯應(yīng)極盡簡單;
2、User是具體的業(yè)務(wù)邏輯class,并在php中 User:: 命名空間幾乎等于 require或include 的作用,所以這里就是load的過程了;
然后,我是PHP新手,這種問題我遇到了,相信其他PHP新手也會遇到,特留言,易變彌補doc的不足。