Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Zend_Form usuwa znaki '[' i ']'
Forum PHP.pl > Forum > PHP > Frameworki
Ghost_78
Witam serdecznie kolegów.
Mam mały problem. Mianowicie - robię sobie formularzyk i i chcę aby moje elementy nazywały się według wzorca name="save[tu_nazwa_pola_z_tabeli]".
Robię to sobie tak:
  1. $var = new Zend_Form_Element_Text('save[descShort]');

Niestety z uporem maniaka zend mi wywala znaki []. Po wylistowania POSTa dostaje: savedescShort.

Mam takie 2 pytanka:
1 - czy da rade jakoś wyłączyć ucinanie tego ?
2 - czy też robicie takie manewry, że zapisujecie w formie nazwy pól z tabeli. czy to jest bezpieczne ?

Dziękuję za wszelkie odpowiedzi.
Pozdrawiam.
Ghost_78
@webdice
Dzięki za szybką odpowiedź.
O rany smile.gif. Ależ to przekombinowane smile.gif
Straszne kombinacje.
Znalazłem jeszcze w międzyczasie w kodzie Zend_Form_Element metodę filterName().
Nie za bardzo mam tylko pomysł jak tego użyć.
Wydaje mi się, że właśnie ta metoda służy do takich zabiegów.
Używałeś jej może ?
webdice
Nie korzystam z Zend_Form do generowania formularzy. Moim zdaniem jest to w pewnym sensie przerost formy nad treścią.
Ghost_78
Czasem tez mi się tak wydaje. Jednak kilka rzeczy jest w tym fajnych. Np fajny sposób validacji dekorowania itp. Ale właśnie czasami mi się wydaje je troszkę jest to przekombinowane. Choćby właśnie w tym momencie - żeby zrobić znaczki [] trzeba bawić się w podformy.
melkorm
Eee, setName dla form i setBelongsTo dla elementu i samo zrobi wink.gif

Co do samego Zend_Form, wcale nie musisz go renderować tylko odpowiednio przekazać do niego dane, walidatory i filtry także możesz używać bez Zend_Form, imho do Panelu Admina - spoko zawsze podobny layout itp ułatwia życie, ale gdy trzeba coś już pokombinować to faktycznie jak webdice wspomniał, lekki przerost nad formą, na szczęście w Zend 2.0 się to powinno zmienić.
Ghost_78
Cytat(melkorm @ 23.05.2011, 22:42:22 ) *
Eee, setName dla form i setBelongsTo dla elementu i samo zrobi wink.gif

Nooooooo wlasnie - tez przed chwila dotarlem do ->setBelongsTo('save'); biggrin.gif rewelka smile.gif. Wraca mi wiara w zend_formy;)
Cytat(melkorm @ 23.05.2011, 22:42:22 ) *
Co do samego Zend_Form, wcale nie musisz go renderować tylko odpowiednio przekazać do niego dane, walidatory i filtry także możesz używać bez Zend_Form, imho do Panelu Admina - spoko zawsze podobny layout itp ułatwia życie, ale gdy trzeba coś już pokombinować to faktycznie jak webdice wspomniał, lekki przerost nad formą, na szczęście w Zend 2.0 się to powinno zmienić.


To o czym napisales na plus dla zend_form to prawda. To ze nie trzeba renderowac to tez fakt. Tylko jak juz pouwstawiam dane, powstawiam wartosci to czemu nie renderowac. Przyznam Wam sie ze juz dluzszy czas uzywam zend_form i troszke topornie to momentami idze ale tak jak ze wszystkim - jak sie w cos czlowiek nie wgryzie to ciezko tego uzywac. Tak samo wygladaly poczatki z OOP a teraz nie widze klepania kodu bez tego smile.gif. Tak wiec chyba dalej bede z formami walczyl.
Dzieki melkorm za podpowiedz - po czasie ale i tak wedruje 'pomogl'

Pozdrawiam Was i dzieki za zainteresowanie tematem.
melkorm
Używam Zend'a od 1,5 roku~~ napisałem sobie generator do Form'ów i Modeli na podstawie bazy, wtedy dopiero się rewelacyjnie pracuje gdy odpalasz skrypt i praktyczne 80% CMS'a (backend'u) już śmiga wink.gif

Chociaż przy bardziej zaawansowanych formularzach robi się mały problem, ale dekoratory też się da ogarnąć więc Zend_Form nie jest aż taki straszny wink.gif Ponieważ daje ogromne możliwości, a pisanie własnych filtrów / walidatorów to pestka wink.gif
Ghost_78
Dobrze prawisz kolego smile.gif. Wszystko to prawda. Sam wlasnie pisze sobie takie generatorki i wszystko smiga az milo. I tak jak piszesz: dodawanie swoich filtrow i validatorow to czysta przyjemnosc smile.gif
melkorm
Odnośnie generowania kodu zainteresuj się Zend_CodeGenerator bardzo przyjemni się z tym pracuje wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.