PeServer

DiContainer extends DisposerBase
in package
implements IDiContainer

DIコンテナ実装。

Table of Contents

Interfaces

IDiContainer
DIコンテナ。

Properties

$mapping  : array<class-string|non-empty-string, DiItem>
IDとの紐づけ。
$isDisposed  : bool
解放済みか。

Methods

__destruct()  : mixed
call()  : mixed
コールバックを実施。
clone()  : IScopedDiContainer
現在のDIコンテナを複製。
dispose()  : void
解放処理。
empty()  : IDisposable
何もしない解放処理オブジェクトを生成。
get()  : object
指定したIDのオブジェクトを取得。
has()  : bool
指定したIDが登録されているか。
isDisposed()  : bool
解放済みか。
new()  : object
クラス生成。
canSetValue()  : bool
create()  : mixed
生成処理。
createFromClassName()  : mixed
クラス名からオブジェクトの生成。
disposeImpl()  : void
解放処理内部実装。
generateParameterValues()  : array<string|int, mixed>
生成オブジェクトに対するパラメータ一覧を生成する。
getItemFromPropertyType()  : DiItem|null
getMappingItem()  : DiItem|null
登録アイテムを具象クラス名も考慮して取得する。
setMembers()  : void
メンバ インジェクション
throwIfDisposed()  : void
解放済みの場合、例外を投げる。

Properties

$mapping

IDとの紐づけ。

protected array<class-string|non-empty-string, DiItem> $mapping = []

$isDisposed

解放済みか。

private bool $isDisposed = false

Methods

call()

コールバックを実施。

public call(callable $callback[, array<string|int, mixed> $arguments = [] ]) : mixed
Parameters
$callback : callable
$arguments : array<string|int, mixed> = []

new を参照。

get()

指定したIDのオブジェクトを取得。

public get(string $id) : object
Parameters
$id : string
Return values
object

has()

指定したIDが登録されているか。

public has(string $id) : bool
Parameters
$id : string
Return values
bool

isDisposed()

解放済みか。

public isDisposed() : bool
Return values
bool

new()

クラス生成。

public new(string $idOrClassName[, array<string|int, mixed> $arguments = [] ]) : object
Parameters
$idOrClassName : string
$arguments : array<string|int, mixed> = []

生成パラメータ指定。

  • int: 引数位置(0基点)。負数の場合で 0 に近い項目で割り当て可能(非null)なパラメータであれば順に消費されていく。
  • string: 先頭が $ で始まる場合は引数名、それ以外は型名と判断。型名の場合は一致するごとに消費されていく。
  • 引数位置指定が優先される
  • 未指定パラメータはDIコンテナ側で生成する
Return values
object

canSetValue()

protected canSetValue(ReflectionType|null $parameterType, mixed $value) : bool
Parameters
$parameterType : ReflectionType|null
$value : mixed
Return values
bool

create()

生成処理。

protected create(DiItem $item, array<int|string, mixed> $arguments, int $level, bool $mappingKeyOnly, array<string|int, DiItem$callStack) : mixed
Parameters
$item : DiItem
$arguments : array<int|string, mixed>

IDiContainer::new 参照。

$level : int

現在階層(0: 最初)

$mappingKeyOnly : bool

真の場合は登録アイテムIDのみに限定。偽の場合、登録されている具象クラス名を考慮する。

$callStack : array<string|int, DiItem>

createFromClassName()

クラス名からオブジェクトの生成。

protected createFromClassName(class-string $className, array<int|string, mixed> $arguments, int $level, bool $mappingKeyOnly, array<string|int, DiItem$callStack) : mixed
Parameters
$className : class-string
$arguments : array<int|string, mixed>

IDiContainer::new 参照。

$level : int

現在階層(0: 最初)

$mappingKeyOnly : bool

真の場合は登録アイテムIDのみに限定。偽の場合、登録されている具象クラス名を考慮する。

$callStack : array<string|int, DiItem>

disposeImpl()

解放処理内部実装。

protected disposeImpl() : void

継承先で継承元を呼び出すこと。

generateParameterValues()

生成オブジェクトに対するパラメータ一覧を生成する。

protected generateParameterValues(ReflectionFunctionAbstract $reflectionMethod, array<int|string, mixed> $arguments, int $level, bool $mappingKeyOnly, array<string|int, DiItem$callStack) : array<string|int, mixed>
Parameters
$reflectionMethod : ReflectionFunctionAbstract
$arguments : array<int|string, mixed>

IDiContainer::new 参照。

$level : int

現在階層(0: 最初)

$mappingKeyOnly : bool

真の場合は登録アイテムIDのみに限定。偽の場合、登録されている具象クラス名を考慮する。

$callStack : array<string|int, DiItem>
Tags
SuppressWarnings

(PHPMD.CyclomaticComplexity)

Return values
array<string|int, mixed>

getItemFromPropertyType()

protected getItemFromPropertyType(ReflectionType|null $parameterType, bool $mappingKeyOnly) : DiItem|null
Parameters
$parameterType : ReflectionType|null
$mappingKeyOnly : bool
Return values
DiItem|null

getMappingItem()

登録アイテムを具象クラス名も考慮して取得する。

protected getMappingItem(class-string|non-empty-string $idOrClassName, bool $mappingKeyOnly) : DiItem|null
Parameters
$idOrClassName : class-string|non-empty-string

登録アイテムID

$mappingKeyOnly : bool

真の場合は登録アイテムIDのみに限定。偽の場合、登録されている具象クラス名を考慮する。

Return values
DiItem|null

setMembers()

メンバ インジェクション

protected setMembers(object $target, int $level, bool $mappingKeyOnly, array<string|int, DiItem$callStack) : void
Parameters
$target : object
$level : int

現在階層(0: 最初)

$mappingKeyOnly : bool

真の場合は登録アイテムIDのみに限定。偽の場合、登録されている具象クラス名を考慮する。

$callStack : array<string|int, DiItem>

        
On this page

Search results