-1

我是 .net 世界的 PHP 新手,这是我拥有的代码,

 class A 
    {
       Album $album; // In C# .net i could have done this and assigned the display       action album data to this          

       public function displayAction()
    {
        $form = new ButtonForm();

        $id = (int)$this->params('id');
        if (!$id) {
            return $this->redirect()->toRoute('album', array('action'=>'add'));
        }
        $album = $this->getAlbumTable()->getAlbum($id);

        return array(
            'id' => $id,
            'album' => $album,
            'form' => $form
        );
    }

    }

我怎么能做到这一点是 PHP ?考虑到我来了一个纯面向对象的技术。因此,我们将非常感谢您的帮助。

4

1 回答 1

1

我知道您可以在函数参数中进行类型提示,但我认为您不能使用类的字段变量。而不是Album $album;使用public $album;. 然后您可以在对象之外自由访问它。例如

$obj = new A(); 
echo $obj->album;

请记住,尽管必须声明您的 var 才能public以这种方式访问​​它。 private并且protected不允许在全局范围内访问。在这种情况下,您将需要创建访问器函数。

编辑

此外,每当访问类中的字段变量时请使用$this关键字。所以再次,而不是$album你使用$this->album.

于 2013-10-29T17:17:22.227 回答