我注意到這一段代碼使用笨數據庫遷移:這句法正確嗎?
$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