【发布时间】:2021-06-20 06:03:54
【问题描述】:
我在我的 Symfony 项目中使用 getter 和 setter。在更改其他字段之前,我必须使用if() 语句检查状态字段是否没有特定值。
代码:
const STATUS_FAILED = 'failed';
const STATUS_PROGRESS = 'progress';
const STATUS_DELETED = 'deleted';
if ($entity->getStatus() !== Entitiy::STATUS_FAILED ||
$entity->getStatus() !== Entitiy::STATUS_PROGRESS ||
$entity->getStatus() !== Entitiy::STATUS_DELETED)
{
$entity->setPreviousStatus($entity->getStatus());
}
我定义了常量并且还使用了OR 运算符。我想知道是否有比这更优雅的解决方案。可能有is_array()功能,不知道能不能用在本次比赛中?
【问题讨论】:
-
你可以改用
in_array -
你的 OR 语句总是正确的,你应该使用 AND
标签: php arrays symfony logical-operators