哈哈,說好的產(chǎn)出快,其實并沒有。??
今天說symfony新建實體吧
symfoney用doctrine對象(實體)來映射表啊字段啊什么的,用注釋來設(shè)置字段屬性啊什么的。
準(zhǔn)備工作當(dāng)然是你要明確你需要的字段,又沒有主鍵,又沒有關(guān)聯(lián),字段什么類型啊等等
1.在Entity文件夾新建php class文件,文件名即表名
2.在新建的文件里面寫入所需字段
eg:
private $id;
private $name;
private $sorce;
3.給每個字段添加注釋
// 命名空間下面要引用:
use Doctrine\ORM\Mapping as ORM;
// 實體的注釋聲明
/**
* @ORM\Entity()
* @ORM\Table(name="student")
*/
// 字段的注釋聲明
/**
* @var int
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
4.添加構(gòu)造函數(shù)
public function __construct($id, $name, $sorce)
{
$this->id = $id;
$this->name = $name;
$this->sorce = $sorce;
}
//phpstorm編譯器的話:導(dǎo)航欄 --> code --> generate --> ...construct. --> 全選 --> ok
我理解的是當(dāng)我們新建一條數(shù)據(jù)的時候會走這個構(gòu)造函數(shù)。
5.添加get()和set()方法
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
//phpstorm編譯器的話:導(dǎo)航欄 --> code --> generate --> get...set... --> 全選 --> ok
由于字段都是private私有的,所以要想訪問和賦值都必須使用get/set函數(shù)。
6.關(guān)于注釋
Doctrine的注釋有很多,詳見傳送門
biubiubiu==>http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#reference-mapping-types