2011-11-30 21 views
1

第一個問題在這裏。請原諒noob錯誤。PHP - 在類函數中訪問對象名稱

我希望能夠引用一個函數內的對象名稱。

讓我們想象一下,類中的函數是display_report()。我通過使用代碼中調用該對象$ jan2011功能:

$jan2011->display_report(); 

一旦display_report()函數中,可以參考我對象變量爲這 - $>日期或$這個 - >標題,其中$ date和$ title都是這個類中的變量。

但是我怎麼能在display_report()函數中確定它被調用的對象是$ jan2011?只用$這似乎是不允許的。

我想要做的就是創建一個變量是這樣的:

$name = "W_".$this."_7"; 

我希望$名稱將被設置爲W_jan2011_7(或者,W_ $ jan2011_7),但它不工作。

任何幫助,將不勝感激!謝謝。

+0

謝謝,所有。我會修補我的方式:) – Nick

+0

如果您對給出的答案感到滿意,請將* best *標記爲幫助其他用戶發現此問題的正確答案!請參閱[常見問題](http://stackoverflow.com/faq#howtoask) – Anonymous

回答

0

您不能從對象內部訪問引用名稱,它們是兩個完全不同的上下文。你正在採取的方法不符合OO,試着在報告類中放置一個屬性(例如「name」),並重寫__toString方法來輸出對象的字符串表示形式(關於__toString的更多信息在PHP文檔中)。

0

一般來說,你不能;有些情況下變量甚至沒有名稱。想象一下:

function foo() 
{ 
    ... 
    return new Report(); 
} 

foo()->display_report(); 

我會建議在你的班級中增加一個name字段。