Я использую Respect / Validation class и у меня есть пользовательское правило CustomRule()
, которое прекрасно работает:
use Respect\Validation\Validator as v;
// ...
'email' => v::CustomRule()->email()->setName('email');
Но это заставляет PHPStan выдавать ошибку:
Call to an undefined static method Respect\Validation\Validator::CustomRule().
Но если переместить его после встроенного правила (например, email()
), PHPStan работает нормально, без ошибок:
'email' => v::email()->CustomRule()->setName('email');
Для ясности, оба кода работают, но PHPStan считает, что первый код недействителен.
Любой обходной путь, чтобы PHPStan его принимал, даже если сначала был установлен CustomRule()
?
Обновление:
Я обнаружил, что если я отредактирую блок документов класса Respect\Validation\Validator
и добавлю свое пользовательское правило в список его встроенных правил, оно будет работать!
/**
* ...
* @method static Validator CustomRule()
*/
class Validator extends AllOf
...
Конечно, плохая идея напрямую модифицировать блок документации из основного класса.Тем не менее, мой вопрос остается прежним.Или, может быть, PHPStan может почтить мой собственный блок документов из моего CustomRule
класса?