我真的只是好奇這一點,我不打算實施它,但我認爲這將是一個很酷控制結構使用應該適當的條件出現。設置開關()不會中斷匹配的情況下,而是繼續到所有匹配的案例
我有一個布爾值數組,表示用戶正在嘗試查看哪些類型的數據,然後我有一個布爾值對象,表示用戶是否有權查看該數據。
而不是if語句列表if(permission and display){show this type}
,我認爲我會反而只是使用開關(true),實際上寫入相同數量的代碼,但格式化好一點,只要我能得到一個switch語句到continue;
..那本來很酷。
switch(true){
case ($processPermissions->history->view) && ($display['history'] !== false):
$application['history'] = $this->getHistory();
continue;
case ($processPermissions->notepad->view) && ($display['notepad'] !== false):
$application['notepad'] = $this->notepad('get');
continue;
case ($processPermissions->documents->view) && ($display['documents'] !== false):
$application['documents'] = $this->documents('get');
continue;
case ($processPermissions->accounting->view) && ($display['accounting'] !== false):
$application['accounting'] = $this->accounting('get');
continue;
case ($processPermissions->inspections->view) && ($display['inspections'] !== false):
$application['inspections'] = $this->inspections('get');
continue;
case ($processPermissions->approvals->view) && ($display['approvals'] !== false):
$application['approvals'] = $this->approvals('get');
continue;
}
實際上,我只是要創建一個數組並循環,因爲代碼對於每種情況都是相同的。
..但我很好奇我會如何能夠得到這個工作,如果我想。
準確地說,我在帖子的最後一句話中要說的是:P這都是好奇心 –