Я хочу создать сущность (Doctrine) из формы 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 для этой сущности?
Если исходный код не соответствует вашим потребностям, просто измените его и создайте форк репозитория на 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;
}
Других решений пока нет …