morozovsk / websocket

simple php websocket server + demos + yii/yii2 integration + php 7 support
368 stars 74 forks source link

Вопрос о наследовании и Demon #18

Closed Sirgalas closed 7 years ago

Sirgalas commented 8 years ago

стал изучать Ваш demon и заметил что он наследуется от класса Generic но самого класса не нашел не нашел так же и следующих свойств

  1. $this->clients
  2. $this->_write
  3. $this->_read
  4. $this->_read

и метода

я так понимаю они должны быть в классе Generic и как сейчас без них работает Demon ?

morozovsk commented 8 years ago

Server.php: if (!empty($this->config['eventDriver']) && $this->config['eventDriver'] == 'libevent') { class_alias('morozovsk\websocket\GenericLibevent', 'morozovsk\websocket\Generic'); } elseif (!empty($this->config['eventDriver']) && $this->config['eventDriver'] == 'event') { class_alias('morozovsk\websocket\GenericEvent', 'morozovsk\websocket\Generic'); } else { class_alias('morozovsk\websocket\GenericSelect', 'morozovsk\websocket\Generic'); }

Sirgalas commented 8 years ago

Спасибо большое.

defk commented 7 years ago

Доброго дня! опять таки с классом morozovsk\websocket\Generic. в yii2 есть рекомендуемое ими автодополнение (так: https://raw.githubusercontent.com/yiisoft/yii2/master/contrib/completion/bash/yii ), но при добавлении Вашего расширения оно ломается, так как не может найти morozovsk\websocket\Generic с этим можно что-то сделать?

morozovsk commented 7 years ago

одно из двух 1) переписать моё расширение, в частности вот этот код:

        if (!empty($this->config['eventDriver']) && $this->config['eventDriver'] == 'libevent') {
            class_alias('morozovsk\websocket\GenericLibevent', 'morozovsk\websocket\Generic');
        } elseif (!empty($this->config['eventDriver']) && $this->config['eventDriver'] == 'event') {
            class_alias('morozovsk\websocket\GenericEvent', 'morozovsk\websocket\Generic');
        } else {
            class_alias('morozovsk\websocket\GenericSelect', 'morozovsk\websocket\Generic');
        }

2) переписать расширение для автодополнения, чтобы оно поддерживало конструкцию class_alias