Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Poprawne wczytanie $_POST do klasy
k8dz
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.02.2020

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


Mam formularz i po kliknięciu wyślij potrzebuję przekazać jego wartości do klasy, aby móc na nich wykonać operacje. Zastanawiam się jak to poprawnie powinno być wykonane. Czy takie rozwiązanie jest poprawne, czy powinienem to jakoś inaczej zrobić?

  1. $cena_plyty = 25; //domyślna wartość zmiennej
  2.  
  3. if ( isset($_POST['cena_plyty']) and is_numeric($_POST['cena_plyty']))
  4. {
  5. $cena_plyty = $_POST['cena_plyty'];
  6. }
  7.  
  8. $wycena = new Wycena;
  9. $wycena->ustaw_cene($cena_plyty);
  10. echo $wycena->wyswietl_wycene();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Co do walidacji to różne są podejścia. Raz jako osobna klasa validatora, raz spięte z generatorem formularza. W sumie osobna klasa i tak się przyda, kwestia gdzie jej użyjesz. Ja wyznaję zasadę "Avoid Else, Return Early" i uważam, że czym wcześniej zastosuje się sprawdzanie, które może przerwać kod tym lepiej. Po pierwsze będzie szybciej, mniej niepotrzebnych obiektów/zmiennych się stworzy, mniej kodu się wykona, mniejsza szansa, że wykona się kod, który nie powinien. No i użytkownik dostanie odpowiedź szybciej.

Także w prostych aplikacjach walidację moim zdaniem lepiej jest robić na samym początku (o ile masz już na tym etapie informacje o poprawnym formacie). Czyli tutaj spokojnie po odebraniu danych z formularza możesz zrobić walidację w pierwszej kolejności, a jeśli ona się powiedzie, to dopiero wtedy tworzyć obiekty produktów i wycenę.


Cytat
Mam sporo prostych zrobionych własnoręcznie skryptów przydatnych w mojej firmie. Wszystkie są napisane w php i totalnie strukturalnie, z całą masą różnych if..else, warunków i itp zbędnego kodu.

Kiedyś poczyniłem aplikację, a ostatnio dowiedziałem się, że po 10 latach nadal z niej korzystają. Voyager 2 leci już 40 lat i nadal się komunikuje z NASA. Stary kod, który działa to niekoniecznie zły kod :-D
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 02:27