我是.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? 考虑一下我是一个纯粹的面向对象技术。所以帮助将受到高度赞赏。
答案 0 :(得分:1)
我知道你可以在函数参数中进行类型提示,但我认为你不能使用类的字段变量。而不是Album $album;
使用public $album;
。然后您可以在对象外部自由访问它。例如
$obj = new A();
echo $obj->album;
请记住,必须将public
声明为以这种方式访问它。 private
和protected
将不允许在全局范围内访问。在这种情况下,您需要创建访问器功能。
修改强>
此外,每当访问中的字段变量时,请使用$this
关键字。同样,您使用$album
而不是$this->album
。