Symfony 实体拥有;“公众”;变量
我现在正在学习Symfony2,在我阅读的每个教程中,都有Symfony 实体拥有;“公众”;变量,symfony,doctrine,Symfony,Doctrine,我现在正在学习Symfony2,在我阅读的每个教程中,都有受保护的变量,如: /** * @ORM\Column(type="decimal", scale=2) */ protected $price; /** * @ORM\Column(type="text") */ protected $description; 我从命令行生成器中得到的是: * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\Gener
受保护的变量,如:
/**
* @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;
有人能解释为什么会发生这种情况吗?受保护不是公开的
private scope
当您希望变量仅在其自己的类中可见时
protectedscope
当您希望使变量在所有扩展当前类(包括父类)的类中可见时
这个例子没有太大的区别。SF文档中的代码更易于继承,仅此而已。两人都在工作
(来源:)您应该使用私有变量。不需要更多。如果Symfony2发电机能做到这一点,我认为它是正确的