[英]What is the most efficient way of getting the namespace of a class in PHP 5.5?
PHP 5.5 使用::class
語法引入了一種簡潔的類名解析方法 。 我想這會使很多人的生活更輕松。 當然對我有用。
但是現在我發現自己必須進一步走一步:獲取某個類的名稱空間。 這不是一項艱巨的編程任務。 它可以通過字符串操作或數組來實現:
$parts = explode('\\', \Foo\Bar\Baz::class);
array_pop($parts);
return implode('\\', $parts); // returns "Foo\Bar"
但這實在是太過分了,因為我經常使用它(作為元編程的一種手段)。 當我分析應用程序時,它實際上顯示為瓶頸。 任何人都有一個更有效的解決方案的主意嗎?
至少
$class = \Foo\Bar\Baz::class;
$namespace = substr($class, 0, strrpos($class, '\\'));
應該更有效率。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.