2016-12-31 79 views

回答

3

其實,你的第二個例子是無效的。它需要是一個字符串:

return $this->belongsTo('App\User'); 

假設它是一個字符串,這兩個變體之間沒有區別。

PHP 5.5的class resolution::class)返回該類的完全限定名稱({Namespace}\ClassName)。你在第一個例子中使用它。但在第二個示例中,您將手動傳遞類FQN(App\User),而不使用類解析。

重要的注意事項是該類應在上下文中可用(使用use語句,如果不在當前名稱空間中),然後才能對其使用類解析。但在第二種方法中,您不需要該類可用,只需將FQN作爲字符串傳遞即可。

對於在上下文中可用的長類FQN,您更喜歡使用類解析而不是手動傳遞它。

use Illuminate\Database\Eloquent\Model; 

echo Model::class; 
// Outputs: Illuminate\Database\Eloquent\Model; 
相關問題