Автогенераторы BOOLEAN-приемники и сеттеры - разный выход
Symfony3.2.0: php bin/console vs PhpStorm 2016.3
Кажется, что в сгенерированном коде существует разница, если я использую командную строку doctrine:generate:entities или использую функцию PhpStorm Generate - Getters and Setters по значению BOOLEAN в классе Entity.
Пример: Я установил эту приватную переменную, ниже приведены 3 примера для генерации Getters/Setters, которые дают несколько отличный результат.
/**
* @var boolean
* @ORM\Column(name="active", type="boolean")
*/
private $active;
# Generated 'getter' from command line = getActive()
# Generated 'getter' from PhpStorm = isActive()
Консольная команда: php bin/console doctrine:generate:entities MyBundle:MyEntity (обратите внимание: getActive, return boolean)
/**
* Set active
*
* @param boolean $active
*
* @return MyEntity
*/
public function setActive($active)
{
$this->active = $active;
return $this;
}
/**
* Get active
*
* @return boolean
*/
public function getActive()
{
return $this->active;
}
Внутри PhpStorm - Код > Сгенерировать (Alt + Insert) > Getters and Setters (с флажком "Свободные сеттеры" включен) (примечание: isActive, return BOOL)
/**
* @return bool
*/
public function isActive()
{
return $this->active;
}
/**
* @param bool $active
* @return MyEntity
*/
public function setActive($active)
{
$this->active = $active;
return $this;
}
и еще один: PhpStorm - код > Создать (Alt + Insert) > Getters and Setters (с флажком "Свободные сеттеры" отключено) (примечание: isActive, return bool и setActive не возвращает $this)
/**
* @return bool
*/
public function isActive()
{
return $this->active;
}
/**
* @param bool $active
*/
public function setActive($active)
{
$this->active = $active;
}
Мои вопросы:
-
Может ли инструмент командной строки
doctrine:generate:entitiesкаким-то образом настроиться на генерации для булевых значений автоматически какis...вместо "получить..."? (так что всегда генерирует логические методы getter как:isActive(),isEnabled()и т.д.) -
Я видел несколько примеров/учебников, в которых метод
setActive()не возвращал$this, поэтому никакая цепочка не могла использоваться. Лучше ли возвращать$this? Каким будет предпочтительный способ? (Есть ли недостаток, когда вы возвращаете$this, возможно, производительность?) -
Влияет ли незначительное различие типа возврата в разделе комментариев на приложение (миграция базы данных с командной строкой или что-то еще)? Или типы
boolиbooleanобрабатываются одинаково везде в Symfony?
(3. Пример)
@return bool (Generated by command line)
vs
@return boolean (Generated by PhpStorm)