我很尷尬。PHP如果條件
我有三個函數來檢查用戶當前登錄是什麼:
public function isAuthor(User $user)
{
return $user->getId() === $this->getDestination();
}
public function isSupervisor(User $user)
{
return $user->getId() === $this->getFirstApprover();
}
public function isSecondApprover(User $user)
{
return $user->getId() === $this->getSecondApprover();
}
然後,我想裏面添加我的行動的條件來檢查,如果用戶是任何上述三人。如果他不是其中之一,應該拒絕訪問。用戶有時可能不止一個,但大多隻有三個中的一個。
我是這樣的第一想法,但顯然它不能正常工作
if (!$object->isAuthor($this->getUser()) || !$object->isSupervisor($this->getUser()) || !$object->isSecondApprover($this->getUser())) {
throw new AccessDeniedException();
}
會有什麼檢查,如果用戶是他們中的一個最好的辦法?我應該創建一個全新的功能嗎?
我應該使用這樣的事:
if (!$object->isAuthor($this->getUser())) {
throw new AccessDeniedException();
} elseif (!$object->isSupervisor($this->getUser())) {
throw new AccessDeniedException();
}
我可以請有從別人的一些想法和投入?因爲我現在很困惑。 還在這裏一個新手
在第一條件條件試驗中使用'&&而不是'||' – jitendrapurohit
*「但顯然它不能工作」* - 爲什麼不呢?你只是混淆了你的布爾邏輯。你想'不是X並且不是Y AND不是Z',換句話說*「不是這些」*。目前,你正在表達*「如果這些中的任何一個是假的」* ... – deceze