PeServer

IScopedDiContainer extends IDiRegisterContainer, IDisposable

限定的DIコンテナ。

生成元のデータを引き継ぎつつ生成元に影響を与えない。

  • 破棄処理は今回分のみ
  • 未生成シングルトンは本処理で生成され、元コンテナでは生成されない
    • つまりは状態により元コンテナと差異が発生する可能性あり(ファクトリとかがその影響大)

Table of Contents

Methods

add()  : void
登録処理。
call()  : mixed
コールバックを実施。
clone()  : IScopedDiContainer
現在のDIコンテナを複製。
dispose()  : void
解放処理。
get()  : object
指定したIDのオブジェクトを取得。
has()  : bool
指定したIDが登録されているか。
isDisposed()  : bool
解放済みか。
new()  : object
クラス生成。
registerClass()  : void
簡易登録(クラス名指定)。
registerMapping()  : void
簡易登録(ID:クラス指定)。
registerValue()  : void
簡易登録(値指定)。
remove()  : DiItem|null
登録アイテムの解除。

Methods

add()

登録処理。

public add(class-string|non-empty-string $id, DiItem $item) : void
Parameters
$id : class-string|non-empty-string
$item : DiItem

call()

コールバックを実施。

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

new を参照。

get()

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

public get(class-string|T>|non-empty-string $id) : object
Parameters
$id : class-string|T>|non-empty-string
Tags
template

T of object

phpstan-return

($id is class-string<T> ? T: object)

throws
DiContainerException
Return values
object

has()

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

public has(class-string|non-empty-string $id) : bool
Parameters
$id : class-string|non-empty-string
Return values
bool

isDisposed()

解放済みか。

public isDisposed() : bool
Return values
bool

new()

クラス生成。

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

生成パラメータ指定。

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

T of object

phpstan-return

($idOrClassName is class-string<T> ? T: object)

throws
DiContainerArgumentException

パラメータ指定さている場合に対象ID($idOrClassName)がシングルトン・値の場合に投げられる。

Return values
object

registerClass()

簡易登録(クラス名指定)。

public registerClass(class-string $className[, DiItem::LIFECYCLE_* $lifecycle = DiItem::LIFECYCLE_TRANSIENT ]) : void

既に登録されている場合に既存アイテムは削除される。

Parameters
$className : class-string
$lifecycle : DiItem::LIFECYCLE_* = DiItem::LIFECYCLE_TRANSIENT

registerMapping()

簡易登録(ID:クラス指定)。

public registerMapping(class-string|non-empty-string $id, class-string $className[, DiItem::LIFECYCLE_* $lifecycle = DiItem::LIFECYCLE_TRANSIENT ]) : void

既に登録されている場合に既存アイテムは削除される。

Parameters
$id : class-string|non-empty-string
$className : class-string
$lifecycle : DiItem::LIFECYCLE_* = DiItem::LIFECYCLE_TRANSIENT

registerValue()

簡易登録(値指定)。

public registerValue(object|null $value[, string $id = Text::EMPTY ]) : void

既に登録されている場合に既存アイテムは削除される。

Parameters
$value : object|null
$id : string = Text::EMPTY

$valueの登録ID。未指定(空)の場合は $value の型名が使用される。

remove()

登録アイテムの解除。

public remove(class-string|non-empty-string $id) : DiItem|null
Parameters
$id : class-string|non-empty-string
Return values
DiItem|null

解除したアイテム。終了処理は呼び出し側で担保すること。存在しない場合は null


        
On this page

Search results