【问题标题】:Symfony form and entity constructorSymfony 表单和实体构造函数
【发布时间】:2014-12-12 17:11:11
【问题描述】:

我想从 Symfony 表单创建实体(学说)。

但我只能创建如下条目:

$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 表单呢?

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    如果源代码不符合您的需求,只需更改它并在 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;
         }
    

    【讨论】:

    • 谢谢,但是构建来自多个存储库。再见了新版本的更新......不是一个选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    相关资源
    最近更新 更多