![]() |
![]() |
![]()
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: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Z doświadczenia moge powiedziec ze lepiej sprawdzają się pojedyncze obiekty generujące pola - przykład:
Oczywiście należy napisać kilkanaście klas takich jak Select, FileInput, Button, CheckBox itd... Kiedy już masz wszystkie klasy wyswietlające mozna zabrać się do etapu tworzenai klasy form. (Jeszcze nie doszedłem do tego etapu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). Dlaczego takie rozwiązanie: -Bo każda przeglądarka z tego samego kodu generuje coś innego. Metoda generująca musi wykryć typ przeglądarki i uwzględnić to dodając odpowiednie style. To bardzo przyspiesza pracę. Moze ci się to rpzyda. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 06:23 |