Roman Levishchenko
Roman Levishchenko
Хорошая мысль, на выходных посмотрю
Почитал статью, доводы вполне хорошие. Но есть несколько "но": > все классы могут содержать либо final public методы, либо abstract protected (для наследования), либо private. final - это конечно классная...
@alexgivi > возможно придется прибегнуть к магическим инструментам, благо в php возможностей для этого масса. думаю что скоро появятся инструменты, которые позволят решить эти задачи, если их еще нет. Уже...
@peter-gribanov > А зачем мокать реализацию? Мокайте интерфейс, а реализацию запихните в сервис который будет реализовывать этот интерфейс (SOLID). Это все замечательно, но согласитесь, вы мокаете не только интерфейсы? Например...
@alexgivi Ок, двайте внимательно посмотрим на ваш контроллер. 1. `SomeDataToService::createFromArray` я предполагаю, что api методы отличаются друг от друга по входящим параметрам в абсолютно большинстве случаев. Переиспользование SomeDataToService вполне возможно,...
@peter-gribanov @EvgeniiR За php-cs-fixer спасибо, я прям проникся
Жуть какая. ```php $request = $this->request_stack->getMasterRequest(); if (!($request instanceof Request)) { // ... } $token = $this->token_storage->getToken(); if (!($token instanceof TokenInterface)) { // ... } $session = $request->getSession(); if (!($session...
> И на null правильно проверять так почему? > Ваш вариант выглядит ещё ужасней и приведет к куче дублируемого кода На счет ужасней - очень спорно. На каждом шаге я...
> Потому, что вызов функции обходится дороже чем операция сравнения и статические анализаторы ругаются на такой код. Ок, согласен > Бесконечная череда return выглядит не очень и может привести к...
> Можно легко пропустить где-то return или в процессе рефакторинга случайно его удалить и т.д. Можно, но это компенсируется тестами и инспекциями. Правда в вашем примере тоже легко ошибиться, особенно...