我被要求创建一个执行某些操作的类,然后返回一个具有只读属性的对象。现在我已经创建了这个类,并且所有的东西都100%的工作了,但是当他们说“返回一个只读属性的对象”的时候,我感到很困惑。
这是我的php文件的大纲,其中包含类和一些额外的调用它的行,等等:
class Book(){
protected $self = array();
function __construct{
//do processing and build the array
}
function getAttributes(){
return $this->self; //return the protected array (for reading)
}
}
$book = new Book();
print_r($book->getAttributes());我怎样才能返回一个对象或其他东西呢?
发布于 2012-07-28 00:05:49
您可能正在寻找关键字final。最终表示对象/方法不能被重写。
Protected意味着对象/方法只能由它所属的类访问。
由于self是保留关键字,因此您需要更改该关键字以及声明。将$self $this->self重命名为$data和$this->data
发布于 2012-07-28 00:04:35
self是一个PHP保留字。您必须重命名您的变量。
发布于 2012-07-28 00:05:16
它们所指的是具有private或protected属性的对象,这些属性只能由setters/getters访问。如果仅定义getter方法,则该属性将是只读的。
https://stackoverflow.com/questions/11691520
复制相似问题