操作符重载等同于c++中的PHP, echo/print类变量作为默认输出


Operator overloading equivalent in C++ for PHP, echo/print class variable for default output

我不知道该怎么问这个问题,因为与你们许多人相比,我是一个编程新手。我正在寻找的是一个类的默认打印或回显。我将给你一个c++的等价物。

ClassName varClass(param);
cout << "Default print: " << varClass << endl;

在这个简短的示例中可以看到,我只需要使用变量名,而不必调用varClass.customPrintFunction()

我需要的是与之等价的php。php中有什么允许我这样做:

$address = new Address(param);
echo "Default print: " . $address . "<br />";

代替:echo "Default print: " . $address->customPrintFunction() . "<br />";

我希望我说得够清楚了。如果没有合适的选择,你能给我一个最好的选择吗?

您可以定义一个__toString方法,该方法定义对象被强制转换为字符串时的行为。

public function __toString() { return $this->customPrintFunction(); }