Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF3] Dynamiczne parametry
lukaskolista
post
Post #1





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Chciałbym się prosić Was o pomoc z frameworkiem Symfony 3. Potrzebuję ustawiać parametr dynamicznie, na podstawie zmiennej w sesji. Do tego celu chciałbym wykorzystać usługę "session", jednak nie jest ona dostępna w moim AppExtension w metodzie load. Wiecie może czy da się coś takiego zrobić i jak? Chodzi mi o zrobienie demo mojego skryptu, gdzie każdy użytkownik ma swoją dedykowaną bazę danych w sqlite, a plik z bazą jest tworzony w przypadku, w którym w sesji brak informacji o bazie przypisanej do użytkownika. Tutaj również chciałbym prosić o pomoc - jak się do tego zabrać w symfony 3?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Moglbys wykorzystac https://symfony.com/doc/current/reference/events.html
Go to the top of the page
+Quote Post
lukaskolista
post
Post #3





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Tylko że eventy są chyba uruchamiane po kompilacji kontenera, a do tego czasu powinienem mieć już poprawnie skonfigurowaną usługę doctrine. Jak konkretnie to zrobić na eventach?

Myślałem o compiler pass, ale nic konkretnego nie wymyśliłem w związku z tym.
Go to the top of the page
+Quote Post
ohm
post
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

Ostrzeżenie: (0%)
-----


A co rzuca Request::createFromGlobals(); ?

Swoją drogą, nie wygodniej przerzucić będzie do kernel.requesta w listenerze? Wtedy mógłbyś swobodnie zmodyfikować/dodać połączenie dla doctrine'a, coś mniej więcej jak tutaj http://www.jakelitwicki.com/2015/05/19/mul...rs-in-symfony2/ No chyba że nie masz innego wyjścia, więc nie było tematu (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
lukaskolista
post
Post #5





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Wiele managerów nie wchodzi w grę niestety, bo nie jestem w stanie przewidzieć ilości baz danych.

Mam aplikację, która korzysta z 1 bazy danych i chcę zrobić demo tej aplikacji, gdzie każdy user ma swoją bazę w sqlite. Być może źle do tego podchodzę. Ostatecznością będzie przebudowa aplikacji tak, aby na 1 bazie obsłużyć wielu użytkowników.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Tobie chodzi tylko w sumie o przełączenie usera po zalogowaniu do jego bazy. A w sumie to nawet i ustanowienie drugiego połączenia do user_db.

Do tego celu możesz użyć onKernelRequest i utworzyć dodatkowy manager.
Go to the top of the page
+Quote Post
lukaskolista
post
Post #7





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


W sensie utworzyć manager "w locie"?

@python
Nie taki dodatkowy ten manager, aplikacja ma 1 bazę produkcyjną, a w trybie demo też ma mieć 1 bazę tylko że dedykowaną dla każdego usera osobno na sqlite (1 baza = 1 plik na dysku). Chodzi o to, żeby od początku defaultowy manager był skonfigurowany na dedykowaną bazę danych dla danego usera.
Spróbuję z eventami pokombinować.

Do tego cron, który usuwa bazy starsze niż godzina.

Ten post edytował lukaskolista 18.07.2017, 07:33:38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:47