Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigProvider ¶
type ConfigProvider struct{}
ConfigProvider loads environment configuration. Must be registered first — all other providers may read config values during their own Register() calls.
func (*ConfigProvider) Boot ¶
func (p *ConfigProvider) Boot(c *container.Container)
Boot is a no-op. Config is fully available after Load().
func (*ConfigProvider) Register ¶
func (p *ConfigProvider) Register(c *container.Container)
Register loads the .env file via config.Load().
type DatabaseProvider ¶
type DatabaseProvider struct{}
DatabaseProvider registers the database connection in the service container.
func (*DatabaseProvider) Boot ¶
func (p *DatabaseProvider) Boot(c *container.Container)
Boot is a no-op. Migrations and seeding are future features.
func (*DatabaseProvider) Register ¶
func (p *DatabaseProvider) Register(c *container.Container)
Register binds a *gorm.DB singleton. The connection is established lazily on first container.Make("db") call, not at registration time.
type LoggerProvider ¶
type LoggerProvider struct{}
LoggerProvider sets up structured logging via slog. Must be registered after ConfigProvider — logger reads LOG_LEVEL, LOG_FORMAT, LOG_OUTPUT from environment.
func (*LoggerProvider) Boot ¶
func (p *LoggerProvider) Boot(c *container.Container)
Boot initializes the logger. Runs after all providers have registered, so config values are guaranteed available.
func (*LoggerProvider) Register ¶
func (p *LoggerProvider) Register(c *container.Container)
Register is a no-op. Logger setup requires config values.
type MiddlewareProvider ¶
MiddlewareProvider registers built-in middleware aliases and groups.
func (*MiddlewareProvider) Boot ¶
func (p *MiddlewareProvider) Boot(c *container.Container)
Boot registers middleware aliases relevant to the current mode.
func (*MiddlewareProvider) Register ¶
func (p *MiddlewareProvider) Register(c *container.Container)
Register is a no-op — middleware has no singleton to register.
type QueueProvider ¶
type QueueProvider struct{}
QueueProvider registers the queue Dispatcher in the container.
func (*QueueProvider) Register ¶
func (p *QueueProvider) Register(c *container.Container)
Register binds a *queue.Dispatcher singleton. Driver is selected via QUEUE_DRIVER env var.
type RedisProvider ¶
type RedisProvider struct{}
RedisProvider registers a shared *redis.Client singleton in the container.
func (*RedisProvider) Register ¶
func (p *RedisProvider) Register(c *container.Container)
Register binds a *redis.Client singleton. Connection is lazy.
type RouterProvider ¶
RouterProvider creates the router and registers route definitions.
func (*RouterProvider) Boot ¶
func (p *RouterProvider) Boot(c *container.Container)
Boot sets up templates, static serving, and loads route definitions based on mode.
func (*RouterProvider) Register ¶
func (p *RouterProvider) Register(c *container.Container)
Register creates a new Router and registers it as "router" in the container.
type SessionProvider ¶
type SessionProvider struct{}
SessionProvider registers the session manager.
func (*SessionProvider) Boot ¶
func (p *SessionProvider) Boot(c *container.Container)
Boot is a no-op for SessionProvider.
func (*SessionProvider) Register ¶
func (p *SessionProvider) Register(c *container.Container)
Register creates a session manager singleton from the configured session driver.