webman的组件和第三方包还是不够多,于是很多人会选择用laravel写后台,webman写api的模式 但是这样model和service可能就需要定义两次,我有一个思路,webman的下一版本或者独立出一个版本,目录结构完全兼容laravel11,可以独立使用,也可以作为composer包引入laravel cli模式启动webman,fpm模式还可以跑laravel,这样控制器和model就可以直接使用lar...
webman本身很省连接,一个进程一个连接,也看过老大对连接池解释的帖子,但是最近遇到一个场景,感觉业务量如果再加大,没有连接池是不行了 业务场景如下: 原本开了4倍进程,32*4,Mysql500个开连接,webman+fpm程序总共用不到200个连接,活跃连接1-3 最近新加了一个功能,我司用到一个第三方付费接口,该接口在我司客户端产品调用,但是该接口只有一个固定秘钥字符串,没有生成签名之类的。 为了防止该付费接...
同一个队列 同一段代码 直接echo也确定执行了 但是在定时任务里面调用 \Webman\RedisQueue\Client::send() 就是不执行...
腾讯云,websocket的安全组要怎么设置,GatewayWorker在线上跑不通 本机正常 服务器连接不上 ...
假设我每个请求响应恒定33.33ms 每个进程一秒可以处理33个请求 如果我开16个进程 那不是代表我每秒最多只能处理528个请求 再多一个一个就会有等待时间 如果直接把进程数再翻倍QPS最高值就是 1056 如果CPU占用不高,但是QPS已经快到达理论值,在CPU负载良好的情况下 进程数/CPU比例是否可以尝试不断提高...
translation 是共享的单例 只要一个用户使用 locale() 函数 切换了语言,将导致整个网站的用户都切换了语言 想要切换语言 只能每次输出的时候 trans('hello', [], null, 'en'); 指定语言 而在FPM模式下,每次请求设定locale,设定locale后每次trans都使用locale设定的语言 下次请求需要读取用户设置的语言再次locale。locale本质上对单次请求有...
想让url中controller、action部分兼容兼容中划线,中划线更加符合SEO标准也更美观 例如 /security/update-password 将访问 securityController 控制器的 updatePassword 方法 每条都注册路由麻烦 阅读了一下代码,在 框架核心App.php 类 getControllerAction方法添加如下代码 $controller_class = st...
如题,单体应用拆分成多个服务,互相 RPC 调用,但是没有服务注册、熔断、限流这些算微服务吗? 在webman中,你有实现熔断和限流的好方案,甚至是全套PHP微服务方案吗...
打算写一个webman的auth组件,参考Yii2的user组件 $auth = new \Webman\Auth\Auth(); $auth->isGuset(); $auth->login(); $auth->logout(); 功能没有问题 ,但是每次都要new一下,在框架多个地方调用就要new多次实在不方便,于是做了一个单例 <?php namespace support; clas...
群主定义函数的时候是否可以先用function_exists检查一下,希望能允许业务代码覆盖框架自带的函数,因为自带的有部分函数实在是....太丑了 /** * webman\config\log.php */ return [ ... 'constructor' => [ runtime_path() . '/logs/webman.log', .... ...
例如Laravel中各种组件使用facades DB::connect() Redis::connect() Request::input() Custom::method() ... Yii2中调用组件使用 Yii::$app->request Yii::$app->redis Yii::$app->custom ... 而在webman中没有预定义定义这种方式 也没有对插件开发者有什么要求,导致...
自动路由面对复制的目录结构时无能为力 把路由写在一个文件性能又不好,webman既然已经常驻内存了,不如最低版本要求提高到php8,加上注解路由,框架启动时读取app目录下的所有控制器,把注释路由缓存起来,每次访问都只需要读取缓存,这样写业务的时候直接在方法上面的注解里设置路由、中间件这些玩意 不需要再去改路由文件之类的 <?php class TestController { #[ Method(...
控制器叫User 模型叫User 在控制器里调用User模型 只有两种办法 否则就会冲突 第一种 别名 use User as UserModel 第二种 每次写全命名空间 $model = new app\models\User() 无论哪一种都不方便 ,最方便的就是控制器叫 UserController,比较控制器除了定义时,基本不会需要手动调用,而调用模型之类的类频率很高,采用上面两种方式比较繁...