DiItem
extends DisposerBase
in package
DI登録値。
シングルトンデータは内包する。
Table of Contents
Constants
- LIFECYCLE_SINGLETON = 1
- [ライフサイクル] シングルトン。
- LIFECYCLE_TRANSIENT = 0
- [ライフサイクル] 毎回作る。
- TYPE_FACTORY = 2
- [登録種別] 生成処理。
- TYPE_TYPE = 0
- [登録種別] 型。
- TYPE_VALUE = 1
- [登録種別] 値。
Properties
- $data : mixed
- $lifecycle : int
- $nonDisposal : bool
- $type : int
- $hasSingletonValue : bool
- シングルトンデータを持つか。
- $isDisposed : bool
- 解放済みか。
- $singletonValue : mixed
- シングルトンデータ。
Methods
- __construct() : mixed
- 生成。
- __destruct() : mixed
- class() : self
- 型: クラスとして生成。
- dispose() : void
- 解放処理。
- empty() : IDisposable
- 何もしない解放処理オブジェクトを生成。
- factory() : self
- 生成処理として生成。
- getSingletonValue() : mixed
- シングルトンデータを設定。
- hasSingletonValue() : bool
- シングルトンデータを保持しているか。
- isDisposed() : bool
- 解放済みか。
- setSingletonValue() : void
- シングルトンデータを設定。
- value() : self
- 値として生成。
- disposeImpl() : void
- 解放処理内部実装。
- throwIfDisposed() : void
- 解放済みの場合、例外を投げる。
Constants
LIFECYCLE_SINGLETON
[ライフサイクル] シングルトン。
public
mixed
LIFECYCLE_SINGLETON
= 1
LIFECYCLE_TRANSIENT
[ライフサイクル] 毎回作る。
public
mixed
LIFECYCLE_TRANSIENT
= 0
TYPE_FACTORY
[登録種別] 生成処理。
public
mixed
TYPE_FACTORY
= 2
TYPE_TYPE
[登録種別] 型。
public
mixed
TYPE_TYPE
= 0
TYPE_VALUE
[登録種別] 値。
public
mixed
TYPE_VALUE
= 1
Properties
$data
public
mixed
$data
$lifecycle
public
int
$lifecycle
$nonDisposal
public
bool
$nonDisposal
= false
$type
public
int
$type
$hasSingletonValue
シングルトンデータを持つか。
private
bool
$hasSingletonValue
= false
$isDisposed
解放済みか。
private
bool
$isDisposed
= false
$singletonValue
シングルトンデータ。
private
mixed
$singletonValue
= null
Methods
__construct()
生成。
public
__construct(self::LIFECYCLE_* $lifecycle, self::TYPE_* $type, class-string|mixed|callable(IDiContainer, array<string|int, DiItem>): mixed $data[, bool $nonDisposal = false ]) : mixed
Parameters
- $lifecycle : self::LIFECYCLE_*
-
ライフサイクル。
- $type : self::TYPE_*
-
登録種別。
- $data : class-string|mixed|callable(IDiContainer, array<string|int, DiItem>): mixed
-
登録データ。
- $nonDisposal : bool = false
-
IDisposable 対象にするか。
__destruct()
public
final __destruct() : mixed
class()
型: クラスとして生成。
public
static class(class-string $className[, self::LIFECYCLE_* $lifecycle = self::LIFECYCLE_TRANSIENT ]) : self
Parameters
- $className : class-string
- $lifecycle : self::LIFECYCLE_* = self::LIFECYCLE_TRANSIENT
Tags
Return values
selfdispose()
解放処理。
public
final dispose() : void
empty()
何もしない解放処理オブジェクトを生成。
public
static empty() : IDisposable
Return values
IDisposablefactory()
生成処理として生成。
public
static factory(callable $factory[, self::LIFECYCLE_* $lifecycle = self::LIFECYCLE_TRANSIENT ]) : self
Parameters
- $factory : callable
- $lifecycle : self::LIFECYCLE_* = self::LIFECYCLE_TRANSIENT
Tags
Return values
selfgetSingletonValue()
シングルトンデータを設定。
public
getSingletonValue() : mixed
Tags
hasSingletonValue()
シングルトンデータを保持しているか。
public
hasSingletonValue() : bool
Return values
boolisDisposed()
解放済みか。
public
isDisposed() : bool
Return values
boolsetSingletonValue()
シングルトンデータを設定。
public
setSingletonValue(mixed $value) : void
DIコンテナ側で処理する想定。
Parameters
- $value : mixed
Tags
value()
値として生成。
public
static value(mixed $data) : self
Parameters
- $data : mixed
Tags
Return values
selfdisposeImpl()
解放処理内部実装。
protected
disposeImpl() : void
継承先で継承元を呼び出すこと。
throwIfDisposed()
解放済みの場合、例外を投げる。
protected
final throwIfDisposed() : void