Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] "Wrażliwe" wartości
Forum PHP.pl > Forum > Przedszkole
Fred1485
Piszę sobie mały projekcik i chciałbym zasięgnąć porady.
Mam klasę Storage, która prywatnie przechowuje tablicę asocjacyjną. Poprzez DI chciałbym klasę Storage dostarczyć do innej. Klasa Storage ma publiczną metodę get, która jeśli dany klucz istnieje istnieje w tablicy zwróci wartość, a jeśli nie ma... I tutaj jest zagwostka, tj. Można zwrócić null, false, lecz taka wartość może istnieć pod danym kluczem. Jak to rozwiązać, aby jednoznacznie identyfikować, że metoda nie znalazła danego klucza. Można wyjątkami, ale w mojej sytuacji chyba nie bardzo tutaj będzie pasować. Myślałem, żeby stworzyć prostą klasę, np. SensitiveValue i jeśli metoda zwróci instancję tej klasy to już nie problem dalej sobie poradzić. Co o tym myślicie?
kapslokk
Zależy od konkretnej potrzeby, ale na dobrą sprawę i tak musiałbyś sprawdzać czy $storage->get('x') instanceof SensitiveValue, więc równie dobrze możesz zrobić metodę get() i metodę has() i metodą has() sprawdzać czy masz klucz.
Fred1485
Dobra, a wracając do kwestii wyjątków też można by zrobić tylko w tym przykładzie metoda w której wywołuje storage-> get ma blok try/catch i i bez problemu można by to zrobić lecz musiałbym miec w głównym bloku try jeszcze jeden try/catch obsługujący wywołanie metody get. Czy takie zagnieżdżane bloków try/catch nie jest uważane za złą praktykę?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.