Size: a a a

2021 April 29

DM

Dmitry MiksIr in phpclub.ru
screen :)
источник

В

Виталий in phpclub.ru
Пхп медленей по скорости в секетах чем нода?
источник

PC

Pavel Chebotarev in phpclub.ru
Думаю что чуть помедленнее, но в целом +- одинаково. Просто на пхп делать сокеты гораздо геморнее
источник

PC

Pavel Chebotarev in phpclub.ru
Но можно и на пхп написать бенчмарк да. Просто он не очень точный получится.
источник

В

Виталий in phpclub.ru
Fatal error: Uncaught Error: Class 'Ev' not found in /home/admin/web/host.ru/public_html/sites/love/vendor/workerman/workerman/Events/Ev.php:83
Но он сувществует как токаое может быть?
источник
2021 April 30

ПА

Про А in phpclub.ru
Народ всем привет такой вопрос, у меня есть вот такая структура классов
источник

ПА

Про А in phpclub.ru
abstract class AbstractRequest
{
}

class UserRequest extends AbstractRequest
{
}


abstract class AbstractModel
{
}

class UserModel extends AbstractModel
{
}

abstract class AbstractUseCase
{
abstract public function execute(AbstractRequest $abstractRequest): AbstractModel
}
источник

ПА

Про А in phpclub.ru
мне нужно выполнить вот этот юзкейс
источник

ПА

Про А in phpclub.ru
class UserUseCase extends AbstractUseCase
{
      public function execute(UserRequest $userRequest): UserModel
{
 // ....
}
}
источник

ПА

Про А in phpclub.ru
Error                                                                      
-- ---------------------------------------------------------------------------
    Child process error (exit code 255): Fatal error: Declaration of          
    App\UseCase\StartupAwards\StartupAwardsTransactionUseCase::execute(App\Re  
    quest\StartupAward\StartupAwardTransactionRequest                          
    $startupAwardTransactionRequest): App\Model\AbstractModel must be          
    compatible with                                                            
    App\UseCase\AbstractAwardTransactionUseCase::execute(App\Request\Abstract  
    AwardTransactionRequest $abstractAwardTransactionRequest):                
    App\Model\AbstractModel in                                                
    /app/src/UseCase/StartupAwards/StartupAwardsTransactionUseCase.php on      
    line 28
источник

ПА

Про А in phpclub.ru
Но php выдает ошибку
источник

ПА

Про А in phpclub.ru
можете помочь решить проблему
источник

K

Kelen in phpclub.ru
Ты пытаешься обозначить тип данных как класс, а нужно как интерфейс
источник

K

Kelen in phpclub.ru
Если хочешь без особых изменений измени в параметрах функции на объект
источник

K

Kelen in phpclub.ru
Как то так
источник

K

Kelen in phpclub.ru
Там где "public function execute(UserRequest $userRequest)" на "public function execute(object $userRequest)"
источник

PC

Pavel Chebotarev in phpclub.ru
class UserUseCase extends AbstractUseCase
{
      public function execute(AbstractRequest $userRequest): AbstractModel

вот так объяви и заработает
источник

ПА

Про А in phpclub.ru
Тогда я потеряю часть типизации
источник

ПА

Про А in phpclub.ru
а вот так не получится потому что в реквестах наследниках есть дополнительная логика
источник

PC

Pavel Chebotarev in phpclub.ru
Тогда у тебя получается нарушен интерфейс т.к. твой класс обязан принимать любого наследника AbstractRequest, а не только UserRequest. Можешь привернуть костыль и принимать на вход AbstractRequest и проверять сразу в методе execute что это инстанс UserRequest
источник