关于全局变量的一些疑问

问题描述 在webman中,在一个进程中,静态变量、(单例)都是所有请求中共享使用,那么有没有可以做到在仅仅在一个请求中,某个(单例)类可以在这个请求业务任意一个地方可以使用,不需要重复实例化呢(不同请求之间不能互相使用),这个类在这个请求结束后自动释放? 举个例子 1、目前log类实例化后(同一个通道),在一个进程后就只有一个日志类(全局日志类),但我想在每次写日志时都要附带上额外的信息(本次请求的信息【包括我自定...

dgkerry 发表与 6天前 166 浏览 4 回答
微信支付WxPayApi.php的$_SERVER['REMOTE_ADDR']

问题描述 微信支付3.0.10版本的WxPayApi.php文件用到了$_SERVER['REMOTE_ADDR'] 为什么我在WxPayApi.php中use Webman\Http\Request;然后把$_SERVER['REMOTE_ADDR']改成Request::getRealIp() 会报错: Error: Non-static method Webman\Http\Request::getRealIp...

zjb123 发表与 7天前 130 浏览 1 回答
关于webman使用全局类的一些问题

问题描述 我有一个类order,这个类由于data变量占用内存比较大,所以我做成全局类,如果通过workerman实现,则如代码【2】所示,先创建一个全局类,然后在onWorkerStart中更新一次data数据(执行upBaseData方法),然后定时每30秒更新一次data数据(执行upBaseData方法),这样我就可以在onMessage中通过global $golbal_order;方式引入,在任意地方使用...

dgkerry 发表与 9天前 207 浏览 4 回答
如何将所有worker进程的内存缓存清空?

问题描述 webman中,为了加快处理的效率并减少IO,做了内存缓存。即根据请求的数据,从数据库中查询到数据后加载到了静态数组LoadData::$data中,供下次请求直接使用。 请问如何解决用户删除了对应数据后,内存缓存也要删除的问题, 需要每个worker进程都清理,请问该如何处理? 由于考虑到性能因素,所以没使用apcu等共享内存机制。在不使用共享内存存放$data的前提下,怎么处理呢? 为此你搜索到了哪些方...

xiaopi 发表与 15天前 241 浏览 4 回答
关于new和静态调用方法

问题描述 萌新第一次公司项目上webman框架 请教大佬们一个问题。 项目上我大量使用了静态的方法,之前都是使用TP框架;经常使用new来访问实例。 // 我的控制方法 public function menus(): Response { $data = SysMenuService::list(); return renderSuccess($data); ...

故人重来 发表与 2024-07-29 718 浏览 5 回答

超高级的稻姬

320
积分
0
获赞数
0
粉丝数
5天前 加入
×
🔝