PHP - 在类函数中访问对象名称

时间:2011-11-30 10:39:48

标签: php function object this

这里的第一个问题。请原谅noob错误。

我希望能够在函数中引用对象名称。

让我们假设一个类中的函数是display_report()。我使用代码

为对象$ jan2011调用函数
$jan2011->display_report(); 

一旦进入display_report()函数,我可以将对象变量称为$ this-> date或$ this-> title,其中$ date和$ title都是类中的变量。

但是如何在display_report()函数中确定它被调用的对象是$ jan2011?仅使用$这似乎是不允许的。

我要做的是创建一个像这样的变量:

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

我希望将$ name设置为W_jan2011_7(或者可能是W_ $ jan2011_7),但它不起作用。

任何帮助将不胜感激!感谢。

2 个答案:

答案 0 :(得分:0)

一般情况下,你不能;有些情况下变量甚至没有名称。想象:

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

foo()->display_report();

我建议您在班级中添加name字段。

答案 1 :(得分:0)

您无法从对象内部访问引用名称,它们是两个完全不同的上下文。您正在采取的方法不符合OO,请尝试在报告类中放置一个属性(例如“name”)并覆盖__toString方法以输出对象的字符串表示形式(有关__toString的更多信息在php文档中) )。