Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]programowanie obiektowe (czy jest dobrze), na początek system formularzy
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Postanowiłem się w końcu zacząć uczyć programowania obiektowego. (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) Na początek napisałem skrypt który graweruje formularze. Czy kod jest optymalny? Co w nim jest niepotrzebne a co zmienić?
  1. <?
  2. class mech_form
  3. {
  4.  
  5. function utworz($action, $nazwa, $metoda)
  6. {
  7. echo '<form action="'.$action.'" name="'.$nazwa.'" method="'.$metoda.'">';
  8. }
  9.  
  10. function utworzPoleInput($type, $size, $value)
  11. {
  12. $a = new tworzHTML();
  13. $a->PoleInput($type, $size, $value);
  14.  }
  15.  
  16. }
  17.  
  18. class tworzHTML extends mech_form 
  19. {
  20.  
  21. function PoleInput($type, $size, $value)
  22. {
  23. echo $nazwa.'<input type="'.$type.'" size="'.$size.'" value="'.$value.'">'; 
  24. }
  25.  
  26. }
  27.  
  28. $mech_form = new mech_form();
  29.  
  30.  
  31. ?><br />
  32. <?
  33. $formularz = $mech_form->utworz('formularz', 'Nazwa', 'post');
  34. ?>
  35. <table>
  36. <tr>
  37. <td>Nick: </td>
  38. <td><? $mech_form->utworzPoleInput('text', '3', 'ELO'); ?>
  39. </td>
  40. </tr>
  41. </table>
  42. </form>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Athlan
post
Post #2





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Po 1.
http://forum.php.pl/index.php?s=&showt...st&p=466253
Kolejne nie-OOP, kopiujesz metody jak popadnie. Nie lepiej miec metody, które wyzwalają inną metodę (wpisują typ i zakres danych) np protected $this->_pole_input( paramy ) i zastępują tylko type.

Po 2. Po grzyb pisać generator formularzy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ? zawsze znajdzie się jakiś parametr, który odrzuci klasę, np dodatkowe atrybuty. Warto o tym pomyśleć i oprócz name itd dorobić metody addAttribute($sName, $sValue).

Po 3. Fajnie by było rozszerzyć takie klasę o validację, pobieranie wartości z POST'u jeżeli są przesłane, a jeżeli nie to z bazy danych (jeżeli to edycja czegoś, po postowaniu dane z bazy zamieniają się na dane z POST'u chwilowo w wyświetleniu formularza).

Ogólnie to nie OOP (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
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: 24.08.2025 - 08:36