Автогенераторы 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)