例如Laravel中各种组件使用facades
DB::connect()
Redis::connect()
Request::input()
Custom::method()
...
Yii2中调用组件使用
Yii::$app->request
Yii::$app->redis
Yii::$app->custom
...
而在webman中没有预定义定义这种方式 也没有对插件开发者有什么要求,导致了官方提供的组件和workerman.net/plugin 页面的开发者提供的插件没有一个统一的调用方式 风格各异
比如
//作者提供的
//https://www.workerman.net/doc/webman/queue/redis.html
use Webman\RedisQueue\Client;
Client::send($queue, $data);
//第三方提供的
//https://www.workerman.net/plugin/32
use yzh52521\mailer\think\Mailer;
Mailer::instance()...
作者是否号召一下大家统一这些组件的调用方式风格
WM里面确实也是有需要统一的,比如你上面说的
还有
RedisQueue的话,Client发送(send)一个消息,不用send用啥?push?add?
instance的话,是个经常看到的用法啊.获取一个实例,而且看namespace应该是对ThinkPHP里Mailer的封装
如果统一 它应该是这样的 Mailer::send() 或者 Mailer::subject('xxx')->send();
就像不会有 Redis::instance()
有Redis::instance,只不过你没用到罢了
这个没办法统一吧,每个库可能有自己的考虑。::instance()也是常用的方法,怎么统一,禁止使用instance()方法?
自由自在多好,干嘛要一个标准