\Framework\ContainerContainerProviders

自动扫描并加载 Provider 类.

Summary

Methods
Properties
Constants
loadAll()
loadFromDirectory()
registerProvider()
bootProviders()
bootProviders1()
No public properties found
No constants found
getComposerNamespacePath()
resolveClassName()
$loadedProviders
$pendingBoot
N/A
No private methods found
No private properties found
N/A

Properties

$loadedProviders

$loadedProviders : array

Type

array

$pendingBoot

$pendingBoot : array

Type

array

Methods

loadAll()

loadAll(\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator  $configurator, string  $namespaceBase, ?string  $appProviderDir = null) : void

扫描并注册所有 Provider(核心 + 应用).

Parameters

\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $configurator
string $namespaceBase
?string $appProviderDir

loadFromDirectory()

loadFromDirectory(\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator  $configurator, string  $directory, string  $namespaceBase) : void

根据目录扫描并注册 Provider.

Parameters

\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $configurator
string $directory
string $namespaceBase

registerProvider()

registerProvider(\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator  $configurator, string  $className) : void

注册单个 Provider.

Parameters

\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $configurator
string $className

bootProviders()

bootProviders(mixed  $container) : void

启动所有 Provider 的 boot 方法.

Parameters

mixed $container

bootProviders1()

bootProviders1(mixed  $container) : void

Parameters

mixed $container

getComposerNamespacePath()

getComposerNamespacePath(string  $namespace) : ?string

自动获取 Composer 的 PSR-4 映射路径.

Parameters

string $namespace

Returns

?string —

resolveClassName()

resolveClassName(string  $filePath, string  $baseDir, string  $namespaceBase) : string

根据文件路径解析命名空间类名(更健壮).

Parameters

string $filePath

文件完整路径(realpath)

string $baseDir

传入的扫描目录(例如 .../framework/Providers 或 .../app/Providers)

string $namespaceBase

命名空间基准(例如 'Framework\Providers\' 或 'App\Providers\')

Returns

string —

完整类名(FQCN)