我想在Laravel中扩展Validator类。但是在所有示例中,make方法用于创建我无法在Validator source code中找到的新实例。我该如何覆盖此方法?构造函数需要一个TranslatorInterface
实例,因此似乎不是一个选项?
答案 0 :(得分:3)
make
方法实际上位于Illuminate\Validation\Factory
。
如果要扩展此方法,则需要更换IoC绑定。只是重载容器中的绑定。
App::bindShared('validator', function($app)
{
$validator = new \Your\Validator\Factory($app['translator'], $app);
if (isset($app['validation.presence']))
{
$validator->setPresenceVerifier($app['validation.presence']);
}
return $validator;
});