2015-12-02 19 views
3

我有一個保存在PHP字符串中的類名。 是否可以使用字符串來解析類名?是否可以使用名稱保存在PHP中的字符串中檢索類名?

如果假設我有一個叫做「MYCLASS」課,我需要的是這樣的:

'Myclass'::class 
+0

您輸入的所有數據看起來都完全一樣嗎? – vitozev

+0

我不明白,哪個輸入? – naneri

+0

@naneri是否要像這樣使用它'$ dynamic_name_of_the_class :: class'? –

回答

1

我並不完全清楚什麼用你有::class對一個字符串。簡單的事實是,如果這個工作,它會輸出相同的字符串,你已經有了。即在你的例子中,'MyClass'::class會輸出字符串MyClass

也許你想擁有一個只包含classname的字符串,而且你試圖解析命名空間?這不起作用。但是你可以使用__NAMESPACE__保留字獲取當前的命名空間:

namespace foo\bar; 
echo __NAMESPACE__; //will output 'foo\bar' 

您可以結合使用這一個類名字符串來構建當前命名空間的完全限定類名。

如果你想從一個不同的命名空間獲得一個類名,那麼你必須事先知道命名空間;沒有名稱空間,PHP將無法找到該類。

相關問題