class
定数は、(名前空間を持つ)クラスの完全な名前を文字列として返します。だから、それを必要とするメソッドに文字列として渡すのではなく、PHPの方法で渡します。それはちょうど、たとえば、良さそうに見えます:
$validator->provider('upload',\Josegonzalez\Upload\Validation\DefaultValidation::class);
と
$validator->provider('upload', '\Josegonzalez\Upload\Validation\DefaultValidation');
はどちら
同じであり、このことのもう一つの利点は、あなたが完全なクラス名が必要な場合は数回あります1つのファイルに複数のメソッド呼び出しをパラメータとして記述します。あなたは単にそれを上の&で使うことができ、classnameだけが名前空間でフルネームを返します。
use \Josegonzalez\Upload\Validation\DefaultValidation;
$validator->provider('upload', DefaultValidation::class);
//you can use it on other places as well, if required.
$someOtherClass->someOtherMethod(DefaultValidation::class);
要するに、入力する必要がある文字数が減り、コードの外観がきれいになります。
また、このような用途は、自動リファクタリングによって簡単に変更できます。通常、文字列ではうまく機能しません。 – ndm