當我讀取在Laravel框架中編寫的代碼時,我看到ClassName::class
的很多用法。修飾符::class
的含義是什麼?這是Laravel還是PHP的特性?我已經搜索,但無法找到文檔。在PHP中,ClassName :: class是什麼意思?
10
A
回答
23
從PHP 5.5開始,class關鍵字也用於類名解析。您可以通過使用
ClassName::class
獲得包含ClassName類的完全限定名稱的字符串。這對命名空間類特別有用。
例如
namespace MyProject;
class Alpha{ }
namespace MyOtherProject;
class Beta{ }
echo Alpha::class; // displays: MyProject\Alpha
echo Beta::class; // displays: MyOtherProject\Beta
+0
謝謝驗證! – yinwei
+5
@yinwei如果回答了您的問題,請接受答案 – frankpinto
5
它只是返回的類名的命名空間! 從PHP 5.5開始,類關鍵字也用於類名稱解析。您可以通過使用ClassName :: class來獲取包含ClassName類的完全限定名稱的字符串。這對命名空間類特別有用。
namespace NS {
class ClassName {
}
echo ClassName::class;
}
上例將輸出:
NS\ClassName
相關問題
- 1. 「new Classname * []」是什麼意思?
- 2. class ClassName * MethodName(int foo)const - 這是什麼意思?
- 3. 什麼是「新ClassName(this);」意思?
- 4. 方法<ClassName>是什麼意思?
- 5. 什麼是「ClassName objName; objName(1);」意思?
- 6. ruby中的「class#method」是什麼意思?
- 7. <namespace> :: class是什麼意思?
- 8. 什麼是std :: _ Bind <std :: _ Mem_fn <void(ClassName :: *)()>(ClassName *)>是什麼意思? (C++)
- 9. 什麼意思?=在PHP中的意思?
- 10. class myClass <String>是什麼意思?
- 11. class-> methode1() - > methode2()是什麼意思?
- 12. 這是什麼意思? * [class =「hide」] in css
- 13. 這是什麼意思:css [class * =「span」]
- 14. class Foo {this:SomeTraitType =>是什麼意思?
- 15. class`expr_t:public ast_container`是什麼意思?
- 16. 在工作中運行「operator ClassName *」。這是什麼意思?
- 17. 是什麼意思:是什麼意思?
- 18. 什麼意思在PHP中?
- 19. PHP這是什麼意思?
- 20. PHP是什麼意思?
- 21. PHP/MySQL - 什麼是||意思?
- 22. =>在php中是什麼意思?
- 23. 在php中「| =」是什麼意思?
- 24. 在PHP中「?:」是什麼意思?
- 25. 「:」在PHP中是什麼意思?
- 26. 在PHP中,$ var [] []是什麼意思?
- 27. 在php中是什麼意思?
- 28. 在php中if(false)是什麼意思?
- 29. @在php中是什麼意思?
- 30. 在PHP中'<= ='是什麼意思?
思想使用Google呢? :-) –
謝謝驗證! – yinwei
「ClassName :: class」如何成爲Laravel功能。該語法用於生成FQCN(完全限定類名稱)。我認爲你甚至懶得去搜索它 – kishanterry