-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
        );
    }

    }

どうすればこれを行うことができますか?私が純粋なオブジェクト指向技術になったと考えてください。そのため、助けをいただければ幸いです。

4

1 に答える 1

1

関数の引数で型ヒントができることは知っていますが、クラスのフィールド変数ではできないと思います。Album $album;使用する代わりにpublic $album;。その後、オブジェクトの外から自由にアクセスできます。例えば

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

publicこの方法でアクセスするに は、var を宣言する必要がありますが、覚えておいてください。privateまたprotected、グローバル スコープでのアクセスは許可されません。その場合、アクセサ関数を作成する必要があります。

編集

また、クラスのフィールド変数にアクセスするときはいつでも、$thisキーワードを使用してください。繰り返しますが、代わりに$albumを使用します$this->album

于 2013-10-29T17:17:22.227 に答える