前の質問に加えて、モデル/教義エンティティへの zend フィルターと検証チェーンのアタッチに加えて、Spiffy フレームワークを試してみましたが、次のような例外でスタックを取得しました: Exception No form element was specified for "title" and one not be "Spiffy\Zend\Form" から自動的に決定されます。私のエンティティにはこれがあります:
<?php
namespace Entities;
use Doctrine\ORM\Mapping as ORM;
use Spiffy\Doctrine\AbstractEntity as Entity;
use Spiffy\Doctrine\Annotations\Filters as Filter;
use Spiffy\Doctrine\Annotations\Validators as Assert;
/** @ORM\Entity(repositoryClass="Repositories\PostRepository") */
class Post extends Entity {
public function __construct()
{
$this->created = new \DateTime("now");
$this->comments = new \Doctrine\Common\Collections\ArrayCollection();
}
public function __get($property)
{
return $this->$property;
}
public function __set($name, $value)
{
$this->$name = $value;
return $this->$name;
}
/**
* @ORM\Id @ORM\Column(type="integer") @ORM\GeneratedValue
*/
private $id;
/**
* @var string $title
* @Filter\Alnum
* @Assert\StringLength(5)
* @ORM\Column(type="string",length=255)
*/
private $title;
/**
* @ORM\Column(type="text")
*/
private $body;
/**
* @ORM\Column(type="datetime")
*/
private $created;
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="post", fetch="LAZY")
*/
private $comments;
}
そして、私のフォームは次のようなものです:
<?php
use \Spiffy\Zend\Form as Form;
class Application_Form_Post extends Form
{
public function init()
{
//var_dump($this->getEntity()); //returns null
// die;
$this->add('title');
$this->add('body');
$this->addElement('submit', 'submit', array(
));
}
}
だから私はここで自分自身をブロックしています。ご協力ありがとうございました。