Natknąłem się na pewne interesujące użycie || Operator w poleceniu powrotu, i byłby wdzięczny, gdyby ktoś mógł potwierdzić dokładnie, co się dzieje (jeśli dobrze rozumiem, mogę go używać się w przyszłości)Potwierdzenie użycia OR (||) w poleceniu return
Kod jest
return ( empty($neededRole) || strcasecmp($role, 'admin') == 0 || strcasecmp($role, $neededRole) == 0 );
$ neededRole i $ rola ma wartość zerową, "admin" lub "menedżer"
Przeczytałem ją jako:
Jeśli $neededRole
jest pusta, nie są potrzebne dalsze sprawdzenia. Zwróć true (i zatrzymaj sprawdzanie)
Jeśli zezwalasz na dostęp ($role == 'admin')
, bez względu na wymaganą rolę. Zwróć true (i zatrzymaj sprawdzanie)
, jeśli ($role == $neededRole)
następnie zezwól na dostęp. Zwróć true (i zatrzymaj sprawdzanie)
Zgaduję, że po osiągnięciu "prawda", że sprawdzanie zatrzymuje się, a jeśli dotarł do końca wiersza bez "true", będzie domyślnie false.
Czy jestem blisko znaku?
Zapomniałeś dodać, jeśli jest nazwa tej techniki, chciałabym wiedzieć, aby czytać dalej na nim –