我注意到这一段代码使用笨数据库迁移:这句法正确吗?
$this->migrations->verbose AND print "Creating table '{$table}'...";
$verbose
是一个配置值。
我们不得不在办公室这个是否是有效的,可读的代码的辩论。它基本上取代了IF语句的需要,因为如果第一部分是真的,它执行条件的第二部分。其实我挺喜欢,但是在办公室的人认为这是一个意外,它的作品,并且这将是更具可读性:
if($this->migrations->verbose) print "Creating table '{$table}'...";
你觉得呢?
我会避免这种情况,因为在很多语言中,不能保证AND将从左到右进行评估。所以即使它在这里完全正常工作,它的逻辑并不普遍。 – Luke
@Luke,在我知道的大多数语言中都有这样的保证,而且PHP绝对是其中的一种:) – Paulpro
我知道,很明显,这在PHP中是真实的,但在概念上并不带有这种保证。 – Luke