ServiceProvider
Registers the session manager service.
Session configuration is resolved from session.driver, session.default, session.drivers, and optional session.ini values. The default driver is Phalcon's stream adapter with a temporary-directory save path, which keeps legacy MVC applications session-capable without extra configuration.
This provider intentionally starts the session before returning it. Identity flows that need stateless JWT-only behavior should use identity.stateless so flash messages, OAuth2 state, locale persistence, and other PHP-session consumers can keep working normally.
- Full name:
\PhalconKit\Provider\Session\ServiceProvider - Parent class:
\PhalconKit\Provider\AbstractServiceProvider
See Also:
- https://docs.phalcon.io/latest/session/
Properties
serviceName
Stable DI service name managed by this provider.
protected string $serviceName
This value is part of the provider contract because controllers, tasks, other injectables, and replacement providers resolve services by name. Concrete providers must set it to a non-empty value.
Methods
register
Register the shared session service.
public register(\PhalconKit\Di\DiInterface $di): void
Adapter classes using Phalcon's stream/noop constructor are instantiated directly. Other adapters are created with a storage adapter factory and must implement SessionHandlerInterface before being attached to the manager.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$di | \PhalconKit\Di\DiInterface |
Throws:
When a factory-backed adapter does not implement PHP's session handler interface. - ConfigurationException
Inherited methods
__construct
Stores the DI container and prepares the provider for registration.
public __construct(\PhalconKit\Di\DiInterface $di): mixed
The constructor intentionally requires PhalconKit\Di\DiInterface so providers can rely on typed service helpers during configuration and registration.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$di | \PhalconKit\Di\DiInterface |
Throws:
When a concrete provider does not define a non-empty service name. - LogicException
getName
Returns the DI service name managed by this provider.
public getName(): string
boot
Optional post-registration hook.
public boot(): void
The base implementation is intentionally empty. Custom bootstraps or application code may call this method for provider-specific startup work after all services have been registered.
configure
Optional provider-local configuration hook.
public configure(): void
This runs during construction after DI has been stored and before register() is called. Use it to normalize provider options or prepare lightweight state; service creation belongs in register().