Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%)
|
Cześć,
Tak się zastanawiałem ostatnio nad zmianą przyzwyczajeń jeśli chodzi o tą sprawę. Deklarowanie wszystkich składowych jako prywatnych lub chronionych jest ni mniej ni więcej upierdliwe jak pisanie setterów i getterów za pomocą __get() __set(), ale estety trochę mam wrażenie na tym cierpi. Wyskrobałem sobie przed chwilą następujący kod: Tak więc się zastanawiam jak to teraz powinno być z tymi modyfikatorami dostępu. Co o tym sądzicie? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Jaki jest cel tej walidacji? Nie wygląda mi to na sprawdzanie danych pochodzących od użytkownika (formularze itp.), a sprawdzanie samego programisty jest raczej średnim pomysłem. By to miało sens musiałbyś tworzyć wiele skomplikowanych reguł (w końcu ograniczenie się do samego typu to słaba walidacja). W dodatku w PHP jako języku, który nie przykłada większej uwagi do typu danych mogłoby to powodować niepotrzebne "wymuszenia" typu: doSth((int) $id) (bo ID było stringiem).
btw: Źle używasz wyjątków. To co wyrzucasz (instancję jakiej klasy) powinno być uwarunkowane tym co powoduje dany błąd, a nie skąd on pochodzi. W tym przypadku akurat powinieneś wykorzystać istniejącą już klasę InvalidArgumentException i ewentualnie DomainException. |
|
|
|
starach Publiczny modyfikator dostępu... 9.08.2010, 06:13:21
batman Na początek zamieniłbym metodę _propertyExists na ... 9.08.2010, 07:05:42
starach __isset owszem z tym że chciałbym żeby w przypadku... 9.08.2010, 14:12:19
Crozin To co obecnie robisz jest kompletnie bez sensu. Ja... 9.08.2010, 15:43:38
starach Nie bierzesz poprawki na to że jakie dobre by to I... 9.08.2010, 20:35:06
starach Ok Crozin argument do mnie dotarł i przestrugałem ... 10.08.2010, 15:53:39 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 16:11 |