Documentation ¶
Index ¶
- type AnanContainer
- func (container *AnanContainer) Bind(provider ServiceProvider) error
- func (container *AnanContainer) IsBind(key string) bool
- func (container *AnanContainer) Make(key string) (interface{}, error)
- func (container *AnanContainer) MakeNew(key string, params []interface{}) (interface{}, error)
- func (container *AnanContainer) MustMake(key string) interface{}
- func (container *AnanContainer) NameList() []string
- func (container *AnanContainer) PrintProviders() []string
- type Container
- type NewInstance
- type ServiceProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnanContainer ¶
type AnanContainer struct { Container // contains filtered or unexported fields }
func NewAnanContainer ¶
func NewAnanContainer() *AnanContainer
func (*AnanContainer) Bind ¶
func (container *AnanContainer) Bind(provider ServiceProvider) error
func (*AnanContainer) IsBind ¶
func (container *AnanContainer) IsBind(key string) bool
func (*AnanContainer) Make ¶
func (container *AnanContainer) Make(key string) (interface{}, error)
func (*AnanContainer) MakeNew ¶
func (container *AnanContainer) MakeNew(key string, params []interface{}) (interface{}, error)
func (*AnanContainer) MustMake ¶
func (container *AnanContainer) MustMake(key string) interface{}
func (*AnanContainer) PrintProviders ¶
func (container *AnanContainer) PrintProviders() []string
PrintProviders 输出服务容器中注册的关键字
type Container ¶
type Container interface { // 绑定一个服务提供者 如果凭证已经存在则替换 Bind(provider ServiceProvider) error // 凭证是否已经绑定 IsBind(key string) bool // 根据关键字获取服务 Make(key string) (interface{}, error) // MustMake 根据关键字凭证获取一个服务,如果这个关键字凭证未绑定服务提供者,那么会panic。 // 所以在使用这个接口的时候请保证服务容器已经为这个关键字凭证绑定了服务提供者。 MustMake(key string) interface{} // MakeNew 根据关键字凭证获取一个服务,只是这个服务并不是单例模式的 // 它是根据服务提供者注册的启动函数和传递的params参数实例化出来的 // 这个函数在需要为不同参数启动不同实例的时候非常有用 MakeNew(key string, params []interface{}) (interface{}, error) }
type NewInstance ¶
type NewInstance func(...interface{}) (interface{}, error)
type ServiceProvider ¶
type ServiceProvider interface { //在服务容器中测试一个 实例化服务的方法 //是否在注册的时候就实例化 要根据IsDefer方法来判断 Register(Container) NewInstance // 在调用实例化服务之前调用 Boot(Container) error //是否在注册时候实例化服务 IsDefer() bool // 传递给NewInstance的参数 Params(Container) []interface{} // 代表这个服务提供者的凭证 Name() string }
服务提供者接口
Directories ¶
Path | Synopsis |
---|---|
Package gin implements a HTTP web framework called gin.
|
Package gin implements a HTTP web framework called gin. |
provider
|
|
Click to show internal directories.
Click to hide internal directories.