Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> walidacja danych, funkcje czy klasa
zzeus
post
Post #1





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Mam kilka funkcji do walidacji danych, ale zastanawiam się czy nie przenieść tego do statycznej klasy. Zastanawiam się jednak co jest wydajniejsze i szybsze, wywoływanie funkcji czy metod ze statycznej klasy ?


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





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Myślę, że najszybsze będzie użycie gotowców z php 5 (no chyba, że to więcej niż jakieś typowe jak mail, url, IP itp) smile.gif Zobacz filter_var i stałe jakich można użyć w wywołaniu. Po co wymyślać koło od nowa tworząc klasę, skoro dostajemy w php5 gotowe narzędzie i na pewno przetestowane?


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
zzeus
post
Post #3





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


No tak, jest taka możliwość, jednak zapis czasami jest zbyt długi, chce np. sprawdzić czy liczba jest typu int i jest większa od 0:
  1. filter_var($var, FILTER_VALIDATE_INT, array("options"=>array("min_range"=>1)))

Chyba że można prościej ?

Ten post edytował zzeus 27.10.2009, 12:10:46


--------------------
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja osobiście nigdy nie przejmuję się długością kodu, za to jego czytelnością, pewnością i wydajnością. Jeśli twórcy wrzucili coś do zestawu funkcji, to mam pewność co do 2 i 3, a i to 1 zazwyczaj z racji odpowiedniego nazewnictwa nie jest problemem. Zauważ, że przy własnej funkcji musisz i tak zastosować dodatkowe parametry. Choćby niejawnie zaszyte wewnątrz niej. Ale by była uniwersalna, to i tak musisz dać parametr opcjonalny. A co, jeśli przyjdzie Ci dodać nowe warunki, jak ograniczenie górne? Znowu przeróbka funkcji własnej, dopisanie kawałka kodu itp. Czy więc zrobisz własną funkcję czy też użyjesz przygotowanej przez twórców to już kwestia preferencji. Choć dzięki gotowej oszczędzasz czas.

Myślę, że po to są one napisane by nie wymyślać koła na nowo. No i sam zapis de facto się skraca trochę. Nie musisz bowiem definiować, zmieniać metody czy funkcji tylko polegasz na sprawdzonym rozwiązaniu. Oczywiście to tylko moje zdanie i możesz go nie podzielać. Masz do tego pełne prawo. Wygodniej jednak operować na odpowiednich flagasz i strukturach dodatkowych, które modyfikują działanie uniwersalnej funkcji niż pisać ileś wersji jednej, zależnej od typu lub pisać innym kodem to samo i później zastanawiać nad warunkami by nie trafił się jakiś wyjątek winksmiley.jpg


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
zzeus
post
Post #5





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


No tak, masz rację, Twoje argumenty mnie w 100% przekonały smile.gif


--------------------
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: 21.08.2025 - 22:56