drago-ex / sessions
Helper class for accessing Nette session and session sections outside presenters.
v2.0.3
2026-10-15 14:57 UTC
Requires
- php: >=8.3 <9
- nette/http: ^3.3
- nette/utils: ^4.0
Requires (Dev)
- nette/bootstrap: ^3.2
- nette/tester: ^2.5
- phpstan/phpstan-nette: ^2.0
- tracy/tracy: ^2.10
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A helper package for managing sessions outside the presenter in Nette Framework.
Requirements
- PHP >= 8.3, < 9
- Nette Framework
- Composer
Installation
composer require drago-ex/sessions
Service Registration
Register an ExtraSession service for the session section you need in your neon configuration:
services: - Drago\Http\ExtraSession(section: cart)
The Nette\Http\Session argument is autowired. When you need several sections, register named services
and disable autowiring, so the right one is chosen explicitly:
services: cartSession: create: Drago\Http\ExtraSession(section: cart) autowired: false wishlistSession: create: Drago\Http\ExtraSession(section: wishlist) autowired: false - App\Model\CartService(@cartSession)
Examples
use Drago\Http\ExtraSession; final class CartService { public function __construct( private readonly ExtraSession $session, ) { } public function add(int $productId): void { $section = $this->session->getSessionSection(); $items = $section->get(items) ?? []; $items[] = $productId; $section->set(items, $items); } }
Features
- Provides access to Nette sessions and session sections outside the presenter.
- Ideal for managing session data in services or components within a Nette application.