2013-01-02 39 views
2

我學習的Symfony2現在在每個教程中,我讀,有protected變量,如:實體具有「公共」變量

​​

我在命令行中生成了什麼是:

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

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

有人可以解釋爲什麼會發生這種情況嗎?

+0

爲什麼會發生什麼? – KingCrunch

+0

你應該使用私有變量。更多是不需要的。如果Symfony2生成器這樣做,我認爲它是正確的。 ;) – Stony

回答

6

受保護不公開!

private scope當您希望您的變量僅在其自己的類中可見時。

protected scope當你想讓你的變量在所有的類中都可見時,當前類包括父類的擴展

這個例子沒有太大的區別。 SF文檔中的代碼對繼承更加開放,就這些。兩者都在工作。

(來源:What is the difference between public, private, and protected?