我想从Symfony表单创建实体(Doctrine)。
但我只能按如下方式创建一个条目:
$country = new Country($iso2Code = 'US');
$country->setIso3Code('USA');
$country->setName('United States of America');
按以下方式设置属性,我不能:
$country = new Country();
$country->setIso2Code('US');
$country->setIso3Code('USA');
$country->setName('United States of America');
此课程的链接:https://github.com/orocrm/platform/blob/master/src/Oro/Bundle/AddressBundle/Entity/Country.php
我无法更改此类的源代码(当然我可以,但这是不好的做法 - 更改第三方代码)。
我不想扩展这个类,因为它会产生很多其他问题(在这种情况下我不能使用依赖于这个类的元素)。
和!!!通过构造函数设置值 - 不错!
但我如何为这个实体创建Symfony 2表单?
答案 0 :(得分:0)
如果源代码不符合您的需求,只需更改它并在github上创建存储库的分支:https://github.com/orocrm/platform/fork
然后:
public function __construct()
{
$this->regions = new ArrayCollection();
}
/**
* Get iso2_code
*
* @return string
*/
public function getIso2Code()
{
return $this->iso2Code;
}
public function setIso2Code($iso2Code)
{
$this->iso2Code = $iso2Code;
return $this;
}