\Framework\CoreApp

Class App Static wrapper for the Dependency Injection Container.

Summary

Methods
Properties
Constants
setContainer()
getContainer()
get()
make()
has()
singleton()
bind()
factory()
instance()
parameter()
tag()
lazy()
No public properties found
No constants found
No protected methods found
$container
N/A
No private methods found
No private properties found
N/A

Properties

$container

$container : ?\Symfony\Component\DependencyInjection\ContainerInterface

Type

ContainerInterface

Methods

setContainer()

setContainer(\Symfony\Component\DependencyInjection\ContainerInterface  $container) : void

设置全局应用容器.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container

getContainer()

getContainer() : \Symfony\Component\DependencyInjection\ContainerInterface

获取全局容器.

Throws

\RuntimeException

Returns

\Symfony\Component\DependencyInjection\ContainerInterface —

get()

get(string  $id) : object|null

从容器中获取一个已注册的服务.

Parameters

string $id

服务的唯一ID

Returns

object|null —

make()

make(string  $id, array  $params = []) : object

从容器解析服务,或在容器外创建实例.

Parameters

string $id

服务名或类名

array $params

可选构造参数(如果容器支持 make)

Returns

object —

has()

has(string  $id) : bool

检查容器是否存在指定服务

Parameters

string $id

Returns

bool —

singleton()

singleton(string  $id, callable  $factory) : void

注册一个单例服务.

Parameters

string $id

服务ID

callable $factory

工厂闭包

bind()

bind(string  $abstract, string  $concrete, bool  $shared = false) : void

绑定一个抽象(接口)到具体实现.

Parameters

string $abstract

接口或抽象类名

string $concrete

具体实现类名

bool $shared

是否为单例

factory()

factory(string  $id, callable  $factory, bool  $shared = false) : void

通过工厂函数注册一个服务.

Parameters

string $id

服务ID

callable $factory

工厂闭包

bool $shared

是否为单例

instance()

instance(string  $id, object  $instance) : void

注册一个已存在的对象实例.

Parameters

string $id

服务ID

object $instance

要注册的对象

parameter()

parameter(string  $name, mixed  $value) : void

注册一个容器参数.

Parameters

string $name

参数名

mixed $value

参数值

tag()

tag(string  $id, string  $tag, array  $attributes = []) : void

为一个已注册的服务添加标签.

Parameters

string $id

服务ID

string $tag

标签名

array $attributes

标签属性

lazy()

lazy(string  $id, string  $concrete, bool  $shared = true) : void

注册一个延迟初始化的服务.

Parameters

string $id

服务ID

string $concrete

具体实现类名

bool $shared

是否为单例