laravelを学習中なのですが、お聞きしたいことがあります。
以下のコードにおいて、オリジナルのバリデータクラスを組み込む際、何故、サービスプロバイダーを利用しなければならないのか、といった点です。
以下は、オリジナルのバリデータクラス「HelloValidator.php」です。
php
1<?php 2namespace App\Http\Validators; 3use Illuminate\Validation\Validator; 4 5class HelloValidator extends Validator 6{ 7 public function validateHello($attribute,$value,$parameters) 8 { 9 return $value % 2 == 0; 10 } 11}
以下は作成したサービスプロバイダーである、「HelloSeviceProvider.php」です。
php
1<?php 2 3namespace App\Providers; 4use Illuminate\Support\Facades\View; 5use Illuminate\Support\ServiceProvider; 6use Illuminate\Validation\Validator; 7use App\Http\Validators\HelloValidator; 8 9class HelloServiceProvider extends ServiceProvider 10{ 11 /** 12 * Register services. 13 * 14 * @return void 15 */ 16 public function register() 17 { 18 // 19 20 } 21 22 /** 23 * Bootstrap services. 24 * 25 * @return void 26 */ 27 public function boot() 28 { 29 //' 30 $validator = $this->app['validator']; 31 32 33 $validator->resolver(function($translator,$data,$rules,$messages){ 34 return new HelloValidator($translator,$data,$rules,$messages); 35 }); 36 } 37} 38
HelloValidator.phpを利用するには、作成したサービスプロバイダーである、HelloServiceProvaider.phpを利用するとあったのですが、何故、オリジナルバリデータクラスを利用する際は、サービスプロバイダーを利用しなければならないのでしょうか?