我正在試圖爲我的帖子實現標籤。用戶將在由逗號分隔的文本框中輸入標籤。在ZF2中添加標籤到帖子
public function addAction() {
$entityManager = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
$article = new Article;
$form = new ArticleForm();
$form->setHydrator(new DoctrineHydrator($entityManager,'CsnCms\Entity\Article'));
$form->bind($article);
$request = $this->getRequest();
if ($request->isPost()) {
$post = $request->getPost();
$form->setData($post);
if ($form->isValid()) {
$this->createTags($article, $post["Tags"]);
$this->prepareData($article);
$entityManager->persist($article);
$entityManager->flush();
return $this->redirect()->toRoute('csn-cms/default', array('controller' => 'article', 'action' => 'index'));
}
}
return new ViewModel(array('form' => $form));
}
在上面的代碼中我添加了一個類叫做createTags是我計劃的輸入標籤分成數組,每個創建一個新的標籤的實體,然後將新標籤的實體存儲在一個陣列中
文章對象。這是我應該這樣做的正確方法嗎?
你做事情的方式當然是你需要的方式。我個人不會使用ZF2的教條,但如果我記得Symfony 2,我會說,沒關係。當我編寫唯一的問題時,我問自己是:我是否在做我想達到的目標,我的代碼是否足夠可測試以確保它是預期的行爲。編寫測試是確保代碼以您想要的方式工作的最佳方式,並且確保整個應用程序不會做奇怪的事情,因爲變量在過程中沒有正確初始化。 – SmasherHell