![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 24.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam troszkę dzisiaj czasu i buszuję po forum. Nospor napisał gdzieś, że do generowania formularzy (i zabezpieczenia się przed F5) używa własnej klasy (chyba, że źle zrozumiałem jego wypowiedź). Jako, że próbuję się "otrzaskać" z obiektowo zorientowanym php od razu powstał w mej łepetynie pomysł "napisz sobie klasę do formularzy"... No i faktycznie, pomysł mi się podoba bo jednak formularzy jest mnóstwo na stronach, przy których coś usiłuję dłubać i gdyby się udało fajną klasę do tego zrobić, byłoby spoko. Na razie wymyśliłem to tak: 1. Główna klasa to oczywiście klasa formular 2. Do niej dodałbym klasę formField, której właściwości to $_name (nazwa pola, do wrzucenia w name="") $_label (do wrzucenia w <label></label>) i $_desc (opis pola) 3. po klasie formField dziedziczyłyby klasy inputField (z właściwością type, czyloi wartością parametru type=""), selectField (z metodą addOption), textareaField itd... 4. Strukturę formularza tworzyłbym w sposób przybliżony do tego:
wynikiem ostatniej metody byłby gotowy kod formularza. Co Wy o tym myślicie? Jaki jest lepszy sposób na to? Jeszcze muszę tu gdzieś zapodać metodę insertValue(), która by wpisywała domyślną wartość... i do pól typu checkbox i do selecta jeszcze coś w rodzaju selectCurrentValue(). Ale czy wg Was podstawowe założenia mają sens? Jeśli nie, to wskażcie mi proszę luki w moim rozumowaniu. Pozdrawiam! Tarcil |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 31.07.2006 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
hmmm, narazie korzystam z domyslnych wygladow, dla selecta, checkboxa, oraz radio, ogolnie jak poustawiam style to sa male roznice,
i dla klienta to nie problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) hehe, ale dzieki za wyjasnienie, zgadzam sie ze aby formularze zrobic podobne dla kazdej przegladarki jak sa pola jak wyzej, to jest porazka. Mam kilka pytan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) klasy i obiekty uzywam od jakiegos czasu, ale postanowilem wziasc sie porzadnie za to, i chce dobrze wszystko zrozumiec, i stosowac jak najlepiej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dlatego ponizej tego calego kodu, beda pytania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , mam nadzieje ze ktos odpowie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Wynik:
Zaczne od konca (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zdefiniowalem klase input, field, i type jest protected, stosuje funkcje __get, oraz __set do ustawiania pol field, praktyczne to jest? funckje generate() - zwracaja kod html. wywolanie funkcji input: $c=new input($type='text',$name='name1',$value='value wyslij',$id='id',$style='style',$class='class',$onclick=''); $c->id='nowe_id'; echo $c->generate(); w konstruktorze ustawiam najwazniejsze rzeczy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , reszte mozna ustawic poprzez: $c->id, $c->value itp, stosuje sie takie cos? dla mnie ladnie to wyglada (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale nie wiem jeszcze czy to jest praktyczne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Chcialem zawezic funckcje magiczne tylko dla pol fields ale chwilowo to pominalem (musialbym dac wszystkie mozliwe pola jakie input moze posiadac). funckją setTyp($value) ustawiam type inputa, przez oddzielna funkcje, poniewaz trzeba miec kontrole akurat nad tym jednym polem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A teraz klasa Form, jak w klasie input, najwazniejsze parametry ustawiam poprzez konstruktor, nastepnie kazda opcje formularza mozna ustawic tylko przez metody do tego stworzone (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mam tutaj glownie pytania, jak tworzyc nowe pola w takim formularzu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dalem 4 sposoby:
jak trzeba wyjasnien do tych sposobow napiszcie, a wyjasnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) najbardziej optymalna wedlug mnie jest metoda z input4[name4] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 23:05 |