Session tradičně a zároveň v sqlite kofigurace
- pidiclovek
- Člen | 91
Ahoj,
řeším nyní následující konfiguraci – toto funguje báječně:
nette:
session:
factory: Nette\Http\Session
autoStart: smart
save_handler: sqlite
save_path: "%tempDir%/sessions.sqlite"
gc_maxlifetime: "%sessionExpiration%"
cookie_lifetime: "%sessionExpiration%"
Tedy ukládám session do sqlite, abych mohl zajistit extrémně dlouhou expiraci. Do této session chci ukládat ale jen data, která to opravdu potřebují, zbylé bych rád ukládal do klasické session. Jak to ale konfigurovat? Tedy chci něco jako:
nette:
session:
autoStart: smart
services:
sessionLong:
class: Nette\Http\Session
setup:
- setOptions([
autoStart: smart
save_handler: sqlite
save_path: "%tempDir%/sessions.sqlite"
gc_maxlifetime: "%sessionExpiration%"
cookie_lifetime: "%sessionExpiration%"])
Což neprojde, laďence se nelíbí dvě session service (Service ‚nette.userStorage‘: Multiple services of type Nette\Http\Session found).Díky za jakýkoliv popostrčení
EDIT:\\ Otázka spíše zní, jak udělat dvě service s různou konfigurací. Je mi jasné z principu službiček, proč nechce vytvořit více instancí. Ale jak to obejít, když to člověk opravdu potřebuje bez toho, abych duplikoval Nette\Http\Session do třídy s jiným názvem?
A opravdu chci, aby to byly služby, ne továrničky :) Prostě chci mít v systému od každé zaručenou jen jednu instanci.
Editoval pidiclovek (20. 4. 2012 12:35)