我尝试扩展Validator类。我需要添加一些方法,我想扩展所有类,而不是使用Validator::extend();
我添加了供应商目录结构:
-comjaroapp
-src
-Comjaroapp
-Validation
-Validator.php
-ValidatorServiceProvider.php
在provider数组中的config / app.php中,我添加了:
'Comjaroapp\Validation\ValidatorServiceProvider'
要测试的代码很简单:
验证
namespace Comjaroapp\Validation;
class CustomValidator extends \Illuminate\Validation\Validator{
public function validatePesel($attribute,$value,$options=null){
return true;
}
}
ValidatorServiceProvider:
namespace Comjarospp\Validation;
use Illuminate\Support\ServiceProvider;
class ValidatorServiceProvider extends ServiceProvider{
public function register(){}
public function boot(){
$this->app->validator->resolver(function($transator,$data,$rules,$messages){
return new CustomValidator($transator,$data,$rules,$messages);
});
}
}
运行编辑器更新后,我看到错误:
> Error Output: PHP Fatal error: Class
> 'Comjaroapp\Validation\ValidatorServiceProvider' not found in
> /vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php
> on line 158
当我查看其他扩展程序时,所有工作都具有相同的结构。
如果有人有想法,出了什么问题或何时应该搜索,请帮助。
提前致谢。
答案 0 :(得分:1)
您的命名空间有不同的名称:
Comjarospp\Validation
和
Comjaroapp\Validation
编辑:
修复命名空间名称后,您执行了
composer dumpautoload