PHP中的嵌套类 - 无法将类的类型定义为另一个类

时间:2014-07-18 11:09:59

标签: php oop php-5.4

我必须定义我的类的属性的类型,说Bb作为另一个类Attach。我尝试写下面的内容 -

<?php

class Attach{
    var $attachmentId;

    var $displayName;

    var $hyperlinkText;

    var $content;
}

class Bb{
    var Attach $attachment;
}

但它给了我一个错误 -

解析错误:语法错误,/ home /......

中的意外“公共”(T_PUBLIC)

实现它的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

问题在于:

class Bb{
    var Attach $attachment;
}

删除附件:

class Bb{
    var $attachment;
}

你无论如何都不应该使用var,尝试开始使用私有,公共,受保护等。

答案 1 :(得分:1)

尝试使用:

<?php

class Attach{

    protected $attachmentId;

    protected $displayName;

    protected $hyperlinkText;

    protected $content;

}


class Bb{

    protected $attachment;

    public function __construct(Attach $attachment){
        $this->attachment = $attachment;
    }
}

$attachment = new Attach();
$bb = new Bb($attachment);

请注意,您在示例中使用的是PHP 4样式的OO。

有关详细信息,请参阅manual on OO Programming in PHP