Documentation
¶
Index ¶
- type Container
- type HadeContainer
- func (hade *HadeContainer) Bind(provider ServiceProvider, isSingleton bool) error
- func (hade *HadeContainer) GetProviders() []ServiceProvider
- func (hade *HadeContainer) IsBind(key string) bool
- func (hade *HadeContainer) Make(key string) (interface{}, error)
- func (hade *HadeContainer) MakeNew(key string, params []interface{}) (interface{}, error)
- func (hade *HadeContainer) MustMake(key string) interface{}
- func (hade *HadeContainer) PrintList() []string
- func (hade *HadeContainer) Singleton(provider ServiceProvider) error
- type NewInstance
- type ServiceProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Container ¶
type Container interface {
// Bind bind a service provider
Bind(provider ServiceProvider, isSingleton bool) error
// Singlton is Bind a singlton service provider
Singleton(provider ServiceProvider) error
// IsBind check a service provider has been bind
IsBind(key string) bool
// Make to get a service provider
Make(key string) (interface{}, error)
// MustMake to get a service provider which will not return error
// if error,panic it
// If you use it, make sure it will not panic, or you can cover it
MustMake(key string) interface{}
// MakeNew to new a service
// The service Must not be singlton, it with params to make a new service
MakeNew(key string, params []interface{}) (interface{}, error)
}
Container is a core struct which store provider and instance
type HadeContainer ¶
type HadeContainer struct {
Container
// contains filtered or unexported fields
}
HadeContainer is instance of Container
func (*HadeContainer) Bind ¶
func (hade *HadeContainer) Bind(provider ServiceProvider, isSingleton bool) error
Bind make relationship between provider and contract
func (*HadeContainer) GetProviders ¶
func (hade *HadeContainer) GetProviders() []ServiceProvider
func (*HadeContainer) IsBind ¶
func (hade *HadeContainer) IsBind(key string) bool
func (*HadeContainer) Make ¶
func (hade *HadeContainer) Make(key string) (interface{}, error)
func (*HadeContainer) MakeNew ¶
func (hade *HadeContainer) MakeNew(key string, params []interface{}) (interface{}, error)
func (*HadeContainer) MustMake ¶
func (hade *HadeContainer) MustMake(key string) interface{}
func (*HadeContainer) PrintList ¶
func (hade *HadeContainer) PrintList() []string
func (*HadeContainer) Singleton ¶
func (hade *HadeContainer) Singleton(provider ServiceProvider) error
Singleton make provider be Singleton, instance once
type NewInstance ¶
type NewInstance func(...interface{}) (interface{}, error)
NewInstance define a instantiate function for making a new service
type ServiceProvider ¶
type ServiceProvider interface {
// Register registe a new function for make a service instance
Register(Container) NewInstance
// Boot will called when the service instantiate
Boot(Container) error
// IsDefer define whether the service instantiate when first make or register
IsDefer() bool
// Params define the necessary params for NewInstance
Params() []interface{}
/// Name define the name for this service
Name() string
}
ServiceProvider define a service provider should implement
Directories
¶
| Path | Synopsis |
|---|---|
|
Package gin implements a HTTP web framework called gin.
|
Package gin implements a HTTP web framework called gin. |
|
middleware
|
|
|
provider
|
|
Click to show internal directories.
Click to hide internal directories.