1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace crmeb\services\workerman;
- use Channel\Client;
- class ChannelService
- {
-
- protected $channel;
-
- protected static $instance;
- public function __construct()
- {
- self::connet();
- }
- public static function instance()
- {
- if (is_null(self::$instance))
- self::$instance = new self();
- return self::$instance;
- }
- public static function connet()
- {
- $config = config('workerman.channel');
- Client::connect($config['ip'], $config['port']);
- }
-
- public function send(string $type, ? array $data = null, ?array $ids = null)
- {
- $res = compact('type');
- if (!is_null($data))
- $res['data'] = $data;
- if (!is_null($ids) && count($ids))
- $res['ids'] = $ids;
- $this->trigger('crmeb', $res);
- }
- public function trigger(string $type, ?array $data = null)
- {
- Client::publish($type, $data);
- }
- }
|