Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] roszerzanie sfGuardPlugin i problem z cache
Forum PHP.pl > Forum > PHP > Frameworki
phpion
Witam smile.gif
Mam pewien problem z Symfony, konkretnie z rozszerzaniem klas + cache'owaniem w generatorze admina.

Otóż używam sfGuardPlugin i rozszerzam jego pola o kolejne (np. imię) i chciałbym edytować wszystkie dane usera w jednym miejscu. Korzystając więc z rady http://www.symfony-project.com/forum/index...msg/4782/20465/ zrobiłem tak jak pokazano. Niestety, jest pewien problem z przeładowanem tych dwóch metod. Gdy zrobię tak jak podano w przykładzie to dodatkowe dane nie są zapisywane do bazy danych, a w /cache/backend/dev/modules/autoUsers/actions/actions.class.php mam kod wyjściowy bez tych rozszerzeń w tych dwóch metodach. Może robię błąd jeśli chodzi o plik, w którym definiuję przeładowanie metod; robię to w /plugins/sfGuardPlugin/modules/sfGuardUser/actions/actions.class.php więc wydaje mi się, że w dobrym miejscu... Jeśli natomiast dodatkowy kod dokleję bezpośrednio do wygenerowanego cache to wszystko śmiga. Tyle tylko, że przy "symfony cc" wszystko i_dzie!...

Próbowałem również skopiować kod wygenerowany z cache bezpośrednio do /plugins/sfGuardPlugin/modules/sfGuardUser/actions/actions.class.php w miejsce wywołań metod nadrzędnych parent::metoda() ale wtedy wygenerowany na nowo cache zawierał tylko kody metod "wyjściowych", a nie tych rozszerzonych.

Poradźcie co mam zrobić bo zgłupiałem :|

Dzięki serdeczne już z góry smile.gif
destroyerr
Moim zdaniem nie powinieneś niczego edytować w folderze plugins, ponieważ w razie update'owania pluginu stracisz wszystkie zmiany. Zresztą w linku, który podałeś też jest to napisane. Całe rozszerzanie metod itd. rób w apps->appname->modules->sfGuardUser->actions.
phpion
Tak, tylko w tym pliku mam klasę dziedzicząco po generatorze:
  1. <?php
  2. class usersActions extends autousersActions
  3. ?>

Próbowałem dodać:
  1. <?php
  2. class sfGuardUserActions extends BasesfGuardUserActions
  3. ?>

w tym samym pliku ale pluje "Fatal error: class X not found". Czy dobrze robię? Jeśli tak to ma wyglądać to powalcze ze ścieżkami, ale nie chciałbym tego robić na próżno.
jupeter
Hmm ... a tak się zastanawiam czy włączyłeś moduł "sfGuardUser" w settings.yml?
destroyerr
Nie to jest problemem. Wystarczy odwiedzić plik: plugins->sfGuardPlugin->modules->sfGuardUser->actions->action.class.php i widzimy, że plugin dodaje plik BasesfGuardUserActions.class.php "ręcznie". To samo musisz zrobić w pliku modułu z akcjami.
phpion
Ok, dzięki serdeczne za pomoc! Problem leżał w tym, że nazwałem moduł w adminie "users", a powinien być "sfGuardUser". Stąd te szopki z brakiem klas. Ale jeszcze raz dzięki za zainteresowanie!
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.