Wpis z mikrobloga

Witam.
Piszę jeszcze raz, bo mi się wydało, że znalazłem problem, ale jednak nie.
Więc mam apkę w #php bez frameworka. Dodaję komponenty symfony, zmieniam strukturę plików. Mam już router, przekazuję obiekt Request do kontrolera. Mam dostęp z tego obiektu do $GET, $POST, $SERVER, ale nie mam dostępu do sesji, więc muszę używać globalnej zmiennej $SESSION, no a wolałbym tego nie robić.
Znalazłem takie coś w dokumentacji: https://symfony.com/doc/current/components/http_foundation/session_php_bridge.html jednak to nie działa. Myślałem, że powodem jest brak możliwości zapisu do /var/lib/php/session, jednak po zmianie chmod na 777, to nie rozwiązało problemu. Zauważyłem jednak inną rzecz. Gdy dodałem coś do sesji z kontrolera, to wartość trafiła do _sf2_attributes, a dane które mnie interesują są na tym samym poziomie co _sf2_attributes.

Załączam screena. lang dodałem z poziomu kontrolera ma wartość 213, a interesujące mnie lang znajduje się u dołu i ma wartość en_GB.

Dlaczego tak się dzieje? Dlaczego nie mam dostępu do zmiennych w sesji?

#symfony #php #webdev #webdevhelp
Pobierz
źródło: comment_uibHQbguTjwGVLsK7eXMcBhX1uacKVoV.jpg
  • 4
@MacDev: To nie jest SF2, to jest legacy code. Brak jakiegoś frameworka. Ja po prostu implementuję Router od SF, tworzę kontrollery itd. Bo dotychczas, to po prostu były wywoływane skrypty PHP pełne require_once albo include. Żadnych serwisów, kontrollerów czy modeli. Po prostu zwykły skrypt.php i PDO.

Komponenty mam najnowsze:

"symfony/routing": "^4.0",
"symfony/http-kernel": "^4.0",
"symfony/dependency-injection": "^4.0",
"symfony/templating": "^4.0",
"symfony/event-dispatcher": "^4.0",
"symfony/http-foundation": "^4.0",