Wpis z mikrobloga

Mirki, mam pytanko. Korzystam w projekcie z FOS User Bundle. Muszę wczytać do sesji / cookies pewne dane uzytkownika przy logowaniu. Jak będzie najlepiej to zrobić? Nadpisywanie kontrolera z UserBundle to chyba ostateczność.

#symfony2 #symfony #php #pytanie
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Lisek-Chytrusek: @uirapuru: jestem początkująćy w Symfony, uczę się dopiero :) I wtedy w listenerze na kontroler logowania przechwytuję sobie z formularza id użytkownika, pobieram potrzebne dane z bazy i wsio, dobrze myślę?
  • Odpowiedz
@Spake: Ciężko powiedzieć, może napisz coś więcej co konkretnie chcesz zapisać w sesji. Ogólnie w listenerze będziesz miał dostęp do obiektu użytkownika i do requestu/sesji.
  • Odpowiedz
@Spake: czekasz na event zalogowania się, w listenerze pobierasz dane ziomka i ładujesz tam gdzie chcesz. ale podejrzewam, że robisz przedwczesną optymalizację i nie chcesz pobierać przy każdym callu danych zalogowanego usera? olej to. pisz aplikację a nie optymalizuj abstrakcję. naprawiaj problemy jak się pojawią.
  • Odpowiedz
@Lisek-Chytrusek: Przy logowaniu chcę zapisać do sesji strony, które partner (aplikacja programu partnerskiego) może promować swoimi linkami polecającymi, żeby nie pobierać tego za każdym razem z bazy. Na podstawie tych stron później jedynie w twigu proste if'y co wyświetlać na stronie, a co ukryć.
  • Odpowiedz
@Lisek-Chytrusek: w FOSUserBundle kontroler odpowiedzialny za logowanie to SecurityController, tak? Jeśli pobiorę dane z formularza przez listener, to nawet jeśli ktoś wpisze błędne hasło, to i tak się to wczyta do sesji. Da się sprawdzić, czy użytkownik zalogował się pomyślnie, czy muszę ręcznie pobrać login z hasłem i porównać z bazą?
  • Odpowiedz
@Spake: ale sesje masz w ogóle na memcached lub innym rozwiązaniu ? bo jak nie to zostaw to na bazie i pobieraj za każdym razem, mysql domyslnie ma result cache
  • Odpowiedz
@Spake: w phpmyadminie zrób zapytanie SHOW STATUS LIKE 'Qcache%'; jeśli Qcache_hits jest większe od zera to zostaw to na bazie danych, bo raczej jakieś memcached redisa czy czegoś innego tam nie ma i na plikach będzie wolniej niż na ramie, to zwykły hosting ?
  • Odpowiedz
@Jurigag: hmmm chyba jakiś biznesowy, ale w FAQ home napisali, że jest zend opcache. Jutro z rana to zapytanie zrobię bo teraz mam multum rzeczy na dwóch monitorach i nie wyrabiam ( ͡° ʖ̯ ͡°)
  • Odpowiedz
@Spake: no ale opcache to opcache, przecież to nic nie ma do rzeczy, i tak jeśli masz sesje na plikach to i tak musi się odwołać do pliku, jakby tam było apc to byś mógł przechowywać tam sesje i wartości jakieś, najpewniej masz na plikach, także zostaw na bazie bo będzie szybciej
  • Odpowiedz