![]() |
![]() |
![]()
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?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Moglbys wykorzystac https://symfony.com/doc/current/reference/events.html
|
|
|
![]()
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. |
|
|
![]()
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) |
|
|
![]()
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. |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:47 |