2011-11-30 69 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字段。