我事先已经问过这个问题,但我可能措辞不佳。我没有得到答案。
我有一个类,它在构造时Image
总是创建一个类的实例。Id
每个 Image 总是有一个Id
,当Image
被销毁时,Id
也被销毁。据我了解,这称为对象组合。
我的 Image 类(这里:$myImage)在初始化/构造期间创建了一个属性:$this->id = new Id(); 我希望 $this->id 能够访问 $myImage 的属性。简单的例子:
class Image {
public $fileSize;
public $id;
const validMimeTypes = array('image/png', 'image/jpeg');
public function __construct($fileSize = 0.0) {
$this->fileSize = $fileSize;
$this->id = new Id();
}
}
class Id {
public function echoMe() {
echo $creatorInstance->fileSize;
echo creatorClass::validMimeTypes;
//This is what I'd like to know how to do
}
}
$myImage = new Image();
$myImage->id->echoMe();
我想知道如何Id
访问其创建者的属性之一。如果结果不明显,我想知道访问类常量和对象属性之间是否存在差异。
例如,Id
可能需要创建者对象的fileName
andfileSize
来生成散列,或者它可能需要它的validMimeTypes
,这可能是描述该类的 const 数组。
我不介意知道这是否有更好的选择——事实上,我很好奇——但首先我想知道如何在 __construct() 阶段不传递参数的情况下实现这一点。