通过全局变量访问 PHP 中的对象详细信息


Accessing object details in PHP thru global variables

我是 .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?考虑到我来自一个纯粹的面向对象的技术。因此,将不胜感激。

我知道

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

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

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

编辑

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