![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Daje ten wątek tu a nie na "Oceny" gdyż tam bardziej pasują projekty zakończone. Moje, to jedynie biblioteka w rozwoju :] Napisałem w ciągu ostatnich trzech dni troche kodu php5, mającego za zadanie generowanie formularzy, ich automatyczną walidację po stronie JavaScript jak i php. Przykład: http://vengeance.strefaphp.net/ObjectForms/Example.php5 Źródło przykładu: http://vengeance.strefaphp.net/ObjectForms/source.php A oto źródła obecnej wersji tego co napisałem: http://vengeance.strefaphp.net/ObjectForms/ObjectForms.zip Byłbym wdzięczny za jakieś uwagi, sugestie. Uważam, iż API jak i możliwości są wystarczająco dobre. Jednak nie zadowalają mnie niektóre obecne rozwiąznaia w samym kodzie. Np. realizacja wykrywania błędów podczas walidacji i wyświetlanie stosownego komunikatu obok Input. Jeżeli byście byli tak uprzejmi i zaproponowali jakieś swoje (wg was lepsze) rozwiązania pewnie wspólnymi siłami mogła by powstać niezła biblioteka uprzyjemniająca prace nam wszystkim. Obecnie najlepiej "rozbudowane" są Textarea oraz Input typu Text/Password Selecty, checkboxy i radio nie są jeszcze oprogramowane. Pozdrawiam. -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Jestem trochę spiący więc kodu samego nie komentuję. Ale mam wskazówkę - sporo pomysłow możesz znaleść w PEAR::QuickForm napewno :-)
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wiesz... wpadłem na to w połowie projektu i jak się okazało (mimo iż QuickForm w życiu na oczy wcześniej nie widziałem) to 60% kodu była bardzo podobna :]
Ale nie chce używać pakietów PEAR, a pomysły zawsze ściągnąć można -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
No dobra coś napisze. Dla osobiście za dużo kodu. Można być napisać nakładkę aby mieć coś ala:
addInout byłby nakładkę na tworzenie obiektu Input, można by mu podać regułki itp i wszystko w samej metodzie ![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie kodu wcale nie jest dużo jak na ilość operacji które skraca.
Jako że biblioteke raczej ja będę wykorzystywał (inni zazwyczaj i tak wolą pisać zawsze swoje własne) to nie skorzystam z propozycji :] Ma ktoś pomysł na te errory? -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 27.01.2005 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
O, @Vee -> niekoniecznie, zaglądnąłem i myślę, że jak będzie trochę dopracowana (Ty albo ja, dla mnie nie stanowi to różnicy) to warto ją wykorzystać.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Twoja klasa ma jedną poważną wadę, która uniemożliwi korzystanie z tej kalsy szerszym odbiorcom.
Nie ma możliwości rozmieszczania elementów tam gdzie się chce. W tej chwili lecą chyba jeden pod drugim. pozatym zgadzam się z @Null za dużo funkcji by jedno pole wygenerować. jedno addInput powino wystarczyć (w mojej klasie wystarcza, no i można dowolnie umieszczać elementy ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Wg. dobrym pomysłem jest generowanie formularzy z plików XML
![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
@nospor, wręcz odwrotnie! Do każdego pola możesz dodać dowolne (w ramach specyfikacji html) atrybuty jak np. class czy style. Wszystko da się ułożyć jak tylko główa zamarzy dzięki CSS.
Efekt "wszystko pod sobą" w przykładzie jest dlatego iż właśnie zastosowano tam krótki CSS w postaci "dislpay: block;" co powoduje wyświetlanie pod sobą. Ale możliwości wg mnie są ogromne. No może nie oblejesz formularza w tabelki, ale powiedzmy sobie szczerze na co to komu :] Tabelka i tak nie do tego sluży ;P Co do ilości kodu: Przecież u mnie ten Input to 2 linie. Najpierw nowy obiekt Input a potem dodanie go do Formy przez AddChild(). A cała reszta kodu to tworzenie tagów <label> czy <legend> bo niby czemu miały by być generowane automatycznie przez klase Input? Przecież właśnie chodzi nam o osiągnięcie maksymalnie elastycznego układu wyświetlania, nie? :] NuLL: Ja nie przepadam za wszystkim co się wiąże z oddzielnymi konfigami, plikami w tym XML itd. Dla mnie to niepotrzebne komplikowanie (choć można więcej przez to uzyskać, zgodze się). Ale czy nie tyle samo lini wyjdzie ci moim kodem bez konfigów, a twoim (jedna linia w php i dziesiątki w confie XML?) @Nievinny: Co rozumiesz przez "dopracowana"? Uściślij to będę wiedzial na co uwagę zwrócić. Dzięki za uwagi, widze że opłaca się dalej pracować nad tym kodem :] -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wedlug mnie ta pozycja dzięki css to częściowe rozwiązanie, może trochę życie utrudnić. No bo teraz przy css dla każdego pola muszę definiować styl, position absolute aby gdzieś tam się pojawil. A jeżeli to będzie jakieś tabelryczne ulożenia to szybciej chyba tabelka by poszla niż zabawa w position absolute. Przy dużej liczbe elementów formualrza będzie się można zachlastać przy próbie zmianie polozenia. Tak mi się wydaje
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
@nospor: Jeśli piszesz o defniowaniu dla każdego pola styli, czy też o pozycjonowaniu absolutnym to chyba po prostu jeszcze nie do końca znasz tajniki CSS. Prawda jest taka, że na stronie wszystkie formularze mają identyczny wygląd. Toteż napisanie odpowiedniego stylu obejmującego wszystkie formy nie jest problemem.
A gdy potrzebujesz innego wyglądu, możesz zastosować wszystkie możliwości takie jak atrybuty "class" czy "style". Pozdrawiam -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Prawda jest taka, że na stronie wszystkie formularze mają identyczny wygląd Na jakiej stronie? Może na Twojej. Ja mówiłem szerszym gronie odbiorców, u których może być inaczej. Co do css to faktycznie w 100% tego 'cuda' nie znam ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Szczerze Vengenance przekombinowujesz
![]() Co do tworzenia formularzy z pliku xml. Pomysl fajny ale nie nowy (patrz: glide) ale znowu wiekszy narzut czasowy przy tworzeniu pliku xml niz wstukaniu szablonu Jesteś szalooona ![]() -------------------- Making IT works
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(serafin @ 2005-08-12 17:45:32) Szczerze Vengenance przekombinowujesz ![]() Weź pod uwagę, że tutaj masz od razu walidację formularzy w JS i php... |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-08-12 16:35:05) Cytat Prawda jest taka, że na stronie wszystkie formularze mają identyczny wygląd Na jakiej stronie? Może na Twojej. Ja mówiłem szerszym gronie odbiorców, u których może być inaczej. Co do css to faktycznie w 100% tego 'cuda' nie znam ![]() Przecież tworząc formularze wiesz gdzie się będą znajdować i jak mają wyglądać. Tak więc przy pomocy CSS można spokojnie i szybko stowrzyć unikalny wygląd każdego formularza. robisz sobie: <div id="form2"> <?php echo $Form;?> </div> A w CSS definicje stylów dla formularza zagnieżdżonego w danym DIV i już :] W kodzie php nie musisz wtedy nawet definiować stli czy klas. Wszystko rozwiązujesz przez możliwości CSS. @serafin: Już się przyzwyczaiłem, że jesteś anty wszystko a w szczególnośći anty moje :] Zastanawia mnie tylko, dlaczego tyle ludzi używa PEAR QucikForm. Przecież to nic nie ułatwia :/ -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 23.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
I do tego jeśli piszesz cms'a który wykorzystuje wirtualne klasy contentu(vide ez) to taki generator jest nieoceniony do automatycznego generowania formularzy. Też coś takiego robię :]
-------------------- Słyszałem, że macie tutaj jakieś takie php... fajne to, dobre to jest?
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
@Vee zainspirowałeś mnie, żeby samemu coś takiego napisac
![]() EDIT: hehe juz mam pierwsza wersje:) Zastanawiam sie tylko jak rozwiazac problem wyswietlania wszystkich tych rzeczy:) Vee mowisz ze CSS wszystko załatwi? w sumie nie jestem tego do konca pewien... |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Na przykładzie mojego kodu, gdyby ktoś się uparł by mieć tabelki można dopisać klasy Tr, Td, Table które działałby by wg wzorca Decorator. W konstruktorze przekazywał byś element (np Input) i przez __set __get i __call przenosił wszystkie odwołania na ten element.
A przy metodzie __toString() dopisać by trzeba było wyświetlanie odpowiednich tagów przed i po tym ww. Input. -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
a co powiesz na malutki system szabloników??
![]() cos w stylu: User tworzy sobie wtedy jakis standardowy wyglad formularza i stosuje go do nich:) Wiem to wariactwo ale wkoncu alek to alek ![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Też tak można. Każdy robi jak mu wygodniej :]
Tak btw, co nie pasuje ci w moim kodzie iż piszesz swój (chęć nauki, wiem, też to mam. Ale pytam serio bo chce poznać słabe strony mojego kodu) -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:03 |