Adam W.

Adam W. senior php
developer, Symfony

Temat: [1.2.7] compat_10, standard_helpers

hi,

nie ustawiałem compat_10 w settings.yml czyli domyślnie jest false.
z tego co wyczytałem wynika, że w takiej sytuacji helper Form nie jest ładowany domyślnie. to by się zgadzało bo gdy na ubuntu sprawdzam to nie może odnaleźć funkcji np input_hidden_tag.
w windowsie wystarczy wpisać form (małą literą) w standard_helpers i już wszystko elegancko działa;) a wynika to z tego kodu:

// remove default Form helper if compat_10 is false
48 if (!sfConfig::get('sf_compat_10') && false !== $i = array_search('Form', $helpers))
49 {
50 unset($helpers[$i]);
51 }


wniosek jest taki, że nie da się ustawić domyślnie ładowania FormHelper? co w takim przypadku można zrobić?
w każdym miejscu gdzie używany jest formhelper ręcznie use_helper('Form')?
Adam W.

Adam W. senior php
developer, Symfony

Temat: [1.2.7] compat_10, standard_helpers

doczytałem się, że FormHelper jest 'depracted' ale to znaczy, że mam pisać albo w czystym html albo wszędzie tam gdzie mam np 2 inputy mam tworzyć nową klasę formularza?

konto usunięte

Temat: [1.2.7] compat_10, standard_helpers

Jeśli nie potrzebuje symfoniowych formów to pisze z palca. Generalnie nie stanowi to problemu, bo to zazwyczaj banalne formularze i te helpery w niczym nie pomagają.

A w przypadku bardziej skomplikowanych rzeczy i tak robie formy symfoniowa, co zdecydowanie ułatwia zabawe :)

Temat: [1.2.7] compat_10, standard_helpers

Dokładnie, zgodzę się z przedmówcą. Także używam albo sfForm albo piszę z palca cały formularz.
Jeżeli coś ma status "deprecated" (a tak możemy chyba powiedzieć o tworzeniu formularzy jakie ma miejsce w Symfony 1.0) to należy odchodzić od stosowania tego typu rozwiązań, ponieważ taka aplikacja w pewnym momencie stanie się po prostu wyjątkowo oporna na upgrade.
Adam W.

Adam W. senior php
developer, Symfony

Temat: [1.2.7] compat_10, standard_helpers

Paweł Smoliński:
Dokładnie, zgodzę się z przedmówcą. Także używam albo sfForm albo piszę z palca cały formularz.
Jeżeli coś ma status "deprecated" (a tak możemy chyba powiedzieć o tworzeniu formularzy jakie ma miejsce w Symfony 1.0) to należy odchodzić od stosowania tego typu rozwiązań, ponieważ taka aplikacja w pewnym momencie stanie się po prostu wyjątkowo oporna na upgrade.

to się wydaje rozsądne co piszesz. ale fajnie było pisać jedną linijkę:
<?php echo select_tag('idzaawansowanie', options_for_select(ZaawansowaniePeer::getWartoscToForm(), $sf_params->get('idzaawansowanie'), array('include_custom'=>' '))) ?>

zamiast pętli i innych sprawdzaczy.

a tak przy okazji mam pytanie.
w wersji 1.2.5 miałem klasy formularzy w katalogu danego modułu, tzn
apps/frontend/modules/profil/lib/form/ProfilForm.class.php

po upgrade do 1.2.7 nie widzi tych klas i konieczne było przeniesienie do
apps/frontend/lib/form/ProfilForm.class.php

konto usunięte

Temat: [1.2.7] compat_10, standard_helpers

Adam W.:

to się wydaje rozsądne co piszesz. ale fajnie było pisać jedną linijkę:
<?php echo select_tag('idzaawansowanie', 	[/quote]> options_for_select(ZaawansowaniePeer::getWartoscToForm(), 	[quote]$sf_params->get('idzaawansowanie'), array('include_custom'=>' '))) ?>

zamiast pętli i innych sprawdzaczy.
I tutaj właśnie przydają się widgety :) Dają Ci dokładnie taką możliwość.
Na początku wyglądało mi to trochę strasznie, ale po dłużej zabawie z sfForm ręcznie pisze tylko np. wyszukiwanie (jeden input).
a tak przy okazji mam pytanie.
w wersji 1.2.5 miałem klasy formularzy w katalogu danego modułu, tzn
apps/frontend/modules/profil/lib/form/ProfilForm.class.php

po upgrade do 1.2.7 nie widzi tych klas i konieczne było przeniesienie do
apps/frontend/lib/form/ProfilForm.class.php

Obecnie przerabiam aplikację, która właśnie ma część formów tak jak Ty masz u siebie a część w /lib/form. Wszystkie działają bez zastrzeżeń. Może to kwestia konfiguracji php/apache?
Adam W.

Adam W. senior php
developer, Symfony

Temat: [1.2.7] compat_10, standard_helpers

Aleksander Wons:
I tutaj właśnie przydają się widgety :) Dają Ci dokładnie taką możliwość.
Na początku wyglądało mi to trochę strasznie, ale po dłużej zabawie z sfForm ręcznie pisze tylko np. wyszukiwanie (jeden input).

a da się tego w widoku zrobić? czy raczej trzeba tworzyć klasę formularza i dopiero tam w confgiure wypisać te kilka widgetów?
Obecnie przerabiam aplikację, która właśnie ma część formów tak jak Ty masz u siebie a część w /lib/form. Wszystkie działają bez zastrzeżeń. Może to kwestia konfiguracji php/apache?

no właśnie nie wiem czego.
sprawdzę to jeszcze raz na ubuntu, bo na win jest tak jak opisałem.
myślałem, że to te szybkie zmiany w wersji 1.2.6 spowodowały, albo coś w 1.2.7.
Adam W.

Adam W. senior php
developer, Symfony

Temat: [1.2.7] compat_10, standard_helpers

odpowiem sam sobie;)
Adam W.:
a da się tego w widoku zrobić? czy raczej trzeba tworzyć klasę formularza i dopiero tam w confgiure wypisać te kilka widgetów?

pośpieszyłem się z tym pytaniem. właśnie sprawdziłem i można w widoku utworzyć widget i wyświetlić go.
ale fajnie by było, żeby miał factory, wtedy mozna by to krócej zapisać.
echo	sfWidgetFormPropelSelect::factory(array('model'=>'Zaawansowanie','add_empty'=>true))->render('idzaawansowanie', $sf_params->get('idzaawansowanie'));

zamiast
$select = new sfWidgetFormPropelSelect(array('model'=>'Zaawansowanie','add_empty'=>true));
echo $select->render('idzaawansowanie', $sf_params->get('idzaawansowanie'));


no właśnie nie wiem czego.
sprawdzę to jeszcze raz na ubuntu, bo na win jest tak jak opisałem.
myślałem, że to te szybkie zmiany w wersji 1.2.6 spowodowały, albo coś w 1.2.7.

sprawdziłem na ubuntu i nie działa. nie widzi klas formularzy w katalogu lib/form danego modułu.

na pewno masz wersje 1.2.7 ?:)Adam W. edytował(a) ten post dnia 14.05.09 o godzinie 12:40

konto usunięte

Temat: [1.2.7] compat_10, standard_helpers

ale fajnie by było, żeby miał factory, wtedy mozna by to krócej zapisać.
echo	sfWidgetFormPropelSelect::factory(array('model'=>'Zaawansowanie','add_empty'=>true))->render('idzaawansowanie', $sf_params->get('idzaawansowanie'));

zamiast
$select = new sfWidgetFormPropelSelect(array('model'=>'Zaawansowanie','add_empty'=>true));
echo $select->render('idzaawansowanie', $sf_params->get('idzaawansowanie'));

Powiedzmy, że dwie linijki zamiast jednej to jeszcze nie tragedia ;) Da się przeżyć.
no właśnie nie wiem czego.
sprawdzę to jeszcze raz na ubuntu, bo na win jest tak jak opisałem.
myślałem, że to te szybkie zmiany w wersji 1.2.6 spowodowały, albo coś w 1.2.7.

sprawdziłem na ubuntu i nie działa. nie widzi klas formularzy w katalogu lib/form danego modułu.

na pewno masz wersje 1.2.7 ?:)

Na pewno wersja 1.2.7 :) Debug mówi, że taka właśnie jest :)

A sprawdzałeś czy autoloader załadował klasy? Albo czy nie masz duplikatów klas? Zobacz co wygenerował autoloader do cache'a.

Następna dyskusja:

[fbsd] dedyk w ovh i linux ...




Wyślij zaproszenie do