Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie zmiennych w klasie?
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Zastanawiam się czy lepiej będzie sprawdzać czy otrzymaliśmy dane, czy zmienna jest taka i taka itd. w funkcji klasy czy przed jej wywołaniem? Jak robicie to u siebie?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
jastu
post
Post #2





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

Ostrzeżenie: (0%)
-----


W większości przypadków to właśnie metody klasy odpowiadają za sprawdzenie poprawności przyjmowanych parametrów (mogą zwrócić info o niepoprawnym parametrze, błędzie), wszystko jednak zależy od Twojej implementacji. Możesz też stworzyć metody operującą na różnych typach parametrów lub klasę osłonową która zwróci odpowiedni bład zanim stworzy obiekt klasy do której chcemy przekazać wcześniej omawiane parametry. A co chcesz osiagnąć ?


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Przeznaczenie ma być ogólne, chodzi mi o to czy lepszym rozwiązaniem (także estetycznym) będzie:
  1. <?php
  2. if($cosTam == 2) {
  3. $obiekt->jakasfunkcja($cosTam);
  4. } else {
  5. throw new Exception('Wyjątek 1');
  6. }
  7. ?>

czy
  1. <?php
  2. $obiekt->jakasfunkcja($cosTam);
  3. ?>

i w tej metodzie
  1. <?php
  2. if($cosTam == 2) {
  3. // instrukcje...
  4. }
  5. ?>


Zdaję mi się, że pierwsze rozwiązanie będzie lepsze, ponieważ nie jeżeli warunek się nie spełni nie będzie trzeba wywoływać funkcji, ale to tylko moje zdanie, a ja się na optymalizacji nie znam smile.gif

Ten post edytował Joachim Peters 20.08.2007, 19:25:53
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jeżeli to są warunki, które muszą zostać spełnione przed wykonaniem działań, to powinieneś umieścić je w metodzie. Albo będziesz je powtarzał przy każdym wywołaniu (n razy), albo raz w metodzie. DRY.


--------------------
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #5





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ja mam podejście, że metody same sobie pilnują co dostają, bo tylko one wiedzą co powinny dostać.
Potem w kodzie przy wywoływaniu jest już czyściej, bez warunków itp.
Taka metoda zwraca przy błędnych parametrach wyjątek, więc łatwo dojść co poszło nie tak, a że sama się pilnuje, nikt nie zapomni czegoś sprawdzić przed jej wywołaniem, a to powoduje że w przyszłości jak ktoś będzie z niej korzystał, po prostu wykorzysta, bo nie będzie musiał wiedzieć co musi sprawdzić, bo sama sprawdza, potem odpowiednie testy i wszystko powinno śmigać.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:46