2

私は今Symfony2を学んでおり、私が読んだすべてのチュートリアルにはprotected、次のような変数があります。

/**
 * @ORM\Column(type="decimal", scale=2)
 */
protected $price;

/**
  * @ORM\Column(type="text")
  */
protected $description;

コマンドラインジェネレーターから取得したものは次のとおりです。

 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var integer
 *
 * @ORM\Column(name="game", type="integer")
 */
private $game;

誰かがこれが起こっている理由を説明できますか?

4

1 に答える 1

6

保護は公開されていません!

private scope変数を独自のクラスでのみ表示したい場合。

protected scope親クラスを含む現在のクラスを拡張するすべてのクラスで変数を表示したい場合。

この例には大きな違いはありません。SFドキュメントのコードは、継承に対してよりオープンです。それだけです。両方とも機能しています。

(出典:パブリック、プライベート、保護の違いは何ですか?

于 2013-01-02T15:00:08.593 に答える