DatabaseContext
extends DisposerBase
in package
implements
IDatabaseTransactionContext
DB処理。
Table of Contents
Interfaces
- IDatabaseTransactionContext
- トランザクションをサポートする状態。
Properties
Methods
- __construct() : mixed
- 生成。
- __destruct() : mixed
- beginTransaction() : void
- トランザクション開始。
- commit() : void
- トランザクションの確定。
- delete() : int
- 削除処理。
- deleteByKey() : void
- 単一削除処理。
- deleteByKeyOrNothing() : bool
- 単一削除処理。
- dispose() : void
- 解放処理。
- empty() : IDisposable
- 何もしない解放処理オブジェクトを生成。
- escapeLike() : string
- `like` のエスケープ処理。
- escapeValue() : string
- バインド値のエスケープ処理。
- execute() : DatabaseTableResult
- 実行処理。
- fetch() : DatabaseSequenceResult
- 問い合わせを逐次実行。
- insert() : int
- 挿入処理。
- insertSingle() : void
- 単一挿入処理。
- inTransaction() : bool
- トランザクション中か。
- isDisposed() : bool
- 解放済みか。
- query() : DatabaseTableResult
- 問い合わせを実行。
- queryFirst() : DatabaseRowResult
- 問い合わせの最初のデータを取得。
- queryFirstOrNull() : DatabaseRowResult|null
- 問い合わせの最初のデータを取得。存在しない場合に `null` を返す。
- querySingle() : DatabaseRowResult
- 1件だけの問い合わせを実行。
- querySingleOrNull() : DatabaseRowResult|null
- 1件だけの問い合わせを実行。存在しない場合に `null` を返す
- rollback() : void
- トランザクションの取消。
- selectOrdered() : DatabaseTableResult
- 並び順問い合わせ文を強制。
- selectSingleCount() : int
- 単一 COUNT 関数問い合わせ文を強制。
- transaction() : bool
- トランザクションラップ処理。
- update() : int
- 更新処理。
- updateByKey() : void
- 単一更新処理。
- updateByKeyOrNothing() : bool
- 単一更新処理。
- disposeImpl() : void
- 解放処理内部実装。
- throwIfDisposed() : void
- 解放済みの場合、例外を投げる。
- throwIfInvalidDelete() : void
- DELETE文を強制。
- throwIfInvalidInsert() : void
- INSERT文を強制。
- throwIfInvalidOrdered() : void
- ソートを強制。
- throwIfInvalidSingleCount() : void
- 単独件数取得を強制。
- throwIfInvalidUpdate() : void
- UPDATE文を強制。
- convertRowResult() : DatabaseRowResult
- 単一行データに変換。
- convertSequenceResult() : DatabaseSequenceResult
- 逐次データセットに変換。
- convertTableResult() : DatabaseTableResult
- データセットに変換。
- executeStatement() : PDOStatement
- 文を実行。
- getColumns() : array<string|int, DatabaseColumn>
- カラム情報一覧の取得。
- getErrorMessage() : string
- 直近のエラーメッセージを取得。
- setParameters() : void
- バインド実行。
Properties
$logger read-only
ロガー
protected
ILogger
$logger
$pdo read-only
接続処理。
protected
PDO
$pdo
$regex
protected
Regex
$regex
$isDisposed
解放済みか。
private
bool
$isDisposed
= false
Methods
__construct()
生成。
public
__construct(ConnectionSetting $setting, ILogger $logger) : mixed
Parameters
- $setting : ConnectionSetting
- $logger : ILogger
Tags
__destruct()
public
final __destruct() : mixed
beginTransaction()
トランザクション開始。
public
beginTransaction() : void
commit()
トランザクションの確定。
public
commit() : void
delete()
削除処理。
public
delete(string $statement[, array<string|int, mixed>|null $parameters = null ]) : int
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
int —削除件数。
deleteByKey()
単一削除処理。
public
deleteByKey(string $statement[, array<string|int, mixed>|null $parameters = null ]) : void
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
deleteByKeyOrNothing()
単一削除処理。
public
deleteByKeyOrNothing(string $statement[, array<string|int, mixed>|null $parameters = null ]) : bool
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
bool —削除できたか。
dispose()
解放処理。
public
final dispose() : void
empty()
何もしない解放処理オブジェクトを生成。
public
static empty() : IDisposable
Return values
IDisposableescapeLike()
`like` のエスケープ処理。
public
escapeLike(string $value) : string
Parameters
- $value : string
Return values
stringescapeValue()
バインド値のエスケープ処理。
public
escapeValue(mixed $value) : string
Parameters
- $value : mixed
Return values
stringexecute()
実行処理。
public
execute(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseTableResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseTableResultfetch()
問い合わせを逐次実行。
public
fetch(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseSequenceResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseSequenceResultinsert()
挿入処理。
public
insert(string $statement[, array<string|int, mixed>|null $parameters = null ]) : int
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
int —挿入件数。
insertSingle()
単一挿入処理。
public
insertSingle(string $statement[, array<string|int, mixed>|null $parameters = null ]) : void
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
inTransaction()
トランザクション中か。
public
inTransaction() : bool
Return values
boolisDisposed()
解放済みか。
public
isDisposed() : bool
Return values
boolquery()
問い合わせを実行。
public
query(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseTableResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseTableResultqueryFirst()
問い合わせの最初のデータを取得。
public
queryFirst(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseRowResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseRowResultqueryFirstOrNull()
問い合わせの最初のデータを取得。存在しない場合に `null` を返す。
public
queryFirstOrNull(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseRowResult|null
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseRowResult|nullquerySingle()
1件だけの問い合わせを実行。
public
querySingle(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseRowResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseRowResultquerySingleOrNull()
1件だけの問い合わせを実行。存在しない場合に `null` を返す
public
querySingleOrNull(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseRowResult|null
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseRowResult|nullrollback()
トランザクションの取消。
public
rollback() : void
selectOrdered()
並び順問い合わせ文を強制。
public
selectOrdered(string $statement[, array<string|int, mixed>|null $parameters = null ]) : DatabaseTableResult
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Tags
Return values
DatabaseTableResultselectSingleCount()
単一 COUNT 関数問い合わせ文を強制。
public
selectSingleCount(string $statement[, array<string|int, mixed>|null $parameters = null ]) : int
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
inttransaction()
トランザクションラップ処理。
public
transaction(callable $callback) : bool
Parameters
- $callback : callable
-
実際の処理。戻り値が真の場合にコミット、偽ならロールバック。
Return values
bool —コミットされたか。正常系としてのコミット・ロールバック処理の戻りであり、異常系は例外が投げられる。
update()
更新処理。
public
update(string $statement[, array<string|int, mixed>|null $parameters = null ]) : int
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
int —更新件数。
updateByKey()
単一更新処理。
public
updateByKey(string $statement[, array<string|int, mixed>|null $parameters = null ]) : void
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
updateByKeyOrNothing()
単一更新処理。
public
updateByKeyOrNothing(string $statement[, array<string|int, mixed>|null $parameters = null ]) : bool
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null = null
Return values
bool —更新できたか。
disposeImpl()
解放処理内部実装。
protected
disposeImpl() : void
継承先で継承元を呼び出すこと。
throwIfDisposed()
解放済みの場合、例外を投げる。
protected
final throwIfDisposed() : void
Tags
throwIfInvalidDelete()
DELETE文を強制。
protected
throwIfInvalidDelete(string $statement) : void
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
throwIfInvalidInsert()
INSERT文を強制。
protected
throwIfInvalidInsert(string $statement) : void
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
throwIfInvalidOrdered()
ソートを強制。
protected
throwIfInvalidOrdered(string $statement) : void
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
throwIfInvalidSingleCount()
単独件数取得を強制。
protected
throwIfInvalidSingleCount(string $statement) : void
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
throwIfInvalidUpdate()
UPDATE文を強制。
protected
throwIfInvalidUpdate(string $statement) : void
単純な文字列処理のため無理な時は無理。
Parameters
- $statement : string
convertRowResult()
単一行データに変換。
private
convertRowResult(PDOStatement $pdoStatement) : DatabaseRowResult
データが存在しない場合、DatabaseRowResult->field
はから配列となるが、あくまで Database
内限定のデータ状態となる。
Parameters
- $pdoStatement : PDOStatement
Tags
Return values
DatabaseRowResultconvertSequenceResult()
逐次データセットに変換。
private
convertSequenceResult(PDOStatement $pdoStatement) : DatabaseSequenceResult
Parameters
- $pdoStatement : PDOStatement
Tags
Return values
DatabaseSequenceResultconvertTableResult()
データセットに変換。
private
convertTableResult(PDOStatement $pdoStatement) : DatabaseTableResult
Parameters
- $pdoStatement : PDOStatement
Tags
Return values
DatabaseTableResultexecuteStatement()
文を実行。
private
executeStatement(string $statement, array<string|int, mixed>|null $parameters) : PDOStatement
Parameters
- $statement : string
- $parameters : array<string|int, mixed>|null
Tags
Return values
PDOStatementgetColumns()
カラム情報一覧の取得。
private
getColumns(PDOStatement $pdoStatement) : array<string|int, DatabaseColumn>
カラム情報は取得できたものだけを返す。
Parameters
- $pdoStatement : PDOStatement
Return values
array<string|int, DatabaseColumn> —取得できたカラム一覧。
getErrorMessage()
直近のエラーメッセージを取得。
private
getErrorMessage() : string
Return values
stringsetParameters()
バインド実行。
private
setParameters(PDOStatement $statement, array<string|int, string|int|bool>|null $parameters) : void
Parameters
- $statement : PDOStatement
- $parameters : array<string|int, string|int|bool>|null