2016-06-16 160 views

回答

2

class常量只是將類的全名(帶有名稱空間)作爲字符串返回。因此,不要將字符串傳遞給某些需要它的方法,而是通過PHP方式傳遞它。它只是看起來不錯,例如:

$validator->provider('upload',\Josegonzalez\Upload\Validation\DefaultValidation::class); 

$validator->provider('upload', '\Josegonzalez\Upload\Validation\DefaultValidation'); 

都是相同

而這另一個優點是,如果你需要完整的類名稱多次在一個單一的文件..說作爲參數多個方法調用。您可以簡單地在頂部&上使用它,然後只有類名將返回帶名稱空間的全名。像這樣:

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); 

因此,簡而言之,它減少了需要輸入的字符數,並使代碼看起來更清晰。

+1

此類用法可以很容易地通過自動重構進行更改,通常不適用於字符串(如果有的話)。 – ndm