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 文档中的代码对继承更开放,仅此而已。两者都在工作。

(来源:public、private 和 protected 有什么区别?

于 2013-01-02T15:00:08.593 回答