Kamil
Demurat
Student, Uniwersytet
Warmińsko-Mazurski
w Olsztynie
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
Czy ktoś wie jak uzyskać dostęp do id zalogowanego użytkownika w pliku np AlbumForm?
Aleksander Wons Aplikacje webowe
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
W przypadku formularzy możesz spokojnie przekazać w kontruktorze albo później jako parametr wywołania metody.Oczywiście jeśli o to Ci chodzi, bo pytanie tak sformułowałeś, że nie ma innej opcji tylko zgadywać.
Paweł
Skroban
Programista/Develope
r, fachowo.co
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
Jeśli chodzi o pobranie użytkownika w lib/form, możesz zrobić to w taki sposób:$user = sfContext::getInstance()->getUser();
Kamil
Demurat
Student, Uniwersytet
Warmińsko-Mazurski
w Olsztynie
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
Potrzebuję id w pliku form, żeby np zamiast pobierania wszystkich rekordów dajmy na to z tabeli Album, pobrało mi tylko takie, które należą do zalogowanego użytkownika.$user = sfContext::getInstance()->getUser();
Gdzieś wyczytałem o tym sposobie ale również wyczytałem, że nie jest on polecany ze względów bezpieczeństwa... To prawda?
===============================================
Problem rozwiązany.
W konstruktorze
$this->form = new ZdjecieForm(null, $id);
gdzie $id jest tablicą opcji:
$id = array('user' => $this->getUser()->getGuardUser()->getId());a w metodzie, którą wywołuję dla opcji criteria jako parametr ustawiam:
$this->getOption('user')PozdrawiamKamil Demurat edytował(a) ten post dnia 21.12.11 o godzinie 09:29
Aleksander Wons Aplikacje webowe
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
W 99/100 przypadków możesz spokojnie używać sfContext::getInstance(). Tym bardziej w formularzu. Chyba, że kontextu nie będzie to wywali się wyjątek, ale to sporadyczne przypadki.
Jakub
Zalas
Senior Software
Engineer, Goyello IT
Services
Temat: Dostęp do id zalogowanego użytkownika w plikach Form
Kamil Demurat:
$user = sfContext::getInstance()->getUser();
Gdzieś wyczytałem o tym sposobie ale również wyczytałem, że nie jest on polecany ze względów bezpieczeństwa... To prawda?
Nie ma to nic wspolnego z bezpieczenstwem.
Problem z pobieraniem kontekstu przy pomocy getInstance() jest taki, ze wewnatrz swojej klasy wprowadzasz zaleznosc od obiektu, ktory nie jest z nia powiazany. Kontekst nie jest potrzebny Twojemu formularzowi i nie musi on nic o nim wiedziec.
Lepiej jest jawnie przekazac potrzebne informacje z zewnatrz (np w konstruktorze, tak jak zrobiles). Taki kod jest latwiej testowalny (w przeciwienstwie do sytuacji, kiedy uzywasz sfContext::getInstance()).
W symfony 1.x uzywanie sfContext::getInstance() uwazane jest za zla praktyke.
--
Kuba
http://symfonylab.plJakub Zalas edytował(a) ten post dnia 22.12.11 o godzinie 13:28
