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

时间:2013-10-29 17:12:06

标签: php object

我是.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? 考虑一下我是一个纯粹的面向对象技术。所以帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

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

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

请记住,必须将public声明为以这种方式访问​​它。 privateprotected将不允许在全局范围内访问。在这种情况下,您需要创建访问器功能。

修改

此外,每当访问中的字段变量时,请使用$this关键字。同样,您使用$album而不是$this->album