Field_Search
extends Field
in package
PHP8.2対応以前にシリアライズされたFieldオブジェクトをデシリアライズすると、 PHP8.2以上の環境でエラーが発生するため、 #[\AllowDynamicProperties] を付与している。
Table of Contents
Properties
- $_aryChild : array<string, Field>
- $_aryConnector : array<string, array<string|int, "and"|"or"|null>>
- $_aryField : array<string, array<string|int, mixed>>
- $_aryMeta : array<string, array<string|int, mixed>>
- $_aryOperator : array<string, array<string|int, "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null>>
- $_arySeparator : array<string, array<string|int, "and"|"or">>
Methods
- __construct() : mixed
- constructor
- add() : bool
- alias for addField
- addChild() : true
- 指定した名前の子フィールドを設定する
- addConnector() : mixed
- 指定したフィールド名のフィールドに対する結合子を追加する
- addField() : bool
- 指定したフィールド名のフィールドに値を追加する
- addOperator() : mixed
- 指定したフィールド名のフィールドに対する演算子を追加する
- addSeparator() : mixed
- 指定したフィールド名のフィールドに対する論理演算子を追加する
- cloneWith() : static
- 指定したフィールドをコピーして、新しいオブジェクトを生成します。
- delete() : bool
- alias for deleteField
- deleteField() : bool
- 指定したフィールド名のフィールドを削除する
- dig() : Field
- 指定されたスコープ名に基づいてフィールド構造を深掘りし、関連するフィールドデータを整理します。
- get() : T is string ? string : false)
- 指定したフィールド名の値を取得する フィールド名に文字列以外を指定した場合はfalseを返す
- getArray() : array<string|int, mixed>
- 指定したフィールド名の値を配列で取得する
- getChild() : Field
- 指定した名前の子フィールドを取得する
- getConnector() : T is null ? ("and"|"or"|null)[] : "and"|"or"|null)
- 指定したフィールド名のフィールドに対する演算子を取得する 第2引数を指定しない場合は、フィールドに対する演算子の配列を返す
- getMeta() : T is non-empty-string ? string|null : array)
- 指定したフィールド名のフィールドに設定されたメタ情報を取得する $keyを指定しない場合は、指定したフィールド名のメタ情報すべてを配列で返す
- getOperator() : T is null ? ("eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)[] : "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)
- 指定したフィールド名のフィールドに対する結合子を取得する 第2引数を指定しない場合は、フィールドに対する結合子の配列を返す
- getSeparator() : "and"|"or"
- 指定したフィールド名のフィールドに対する論理演算子を取得する
- hasEmptyOperator() : bool
- 指定したフィールドが em 演算子を持つかどうかを判定する
- isChildExists() : bool
- 指定した名前の子フィールドが存在するかどうかを判定する 名前を指定しない場合は、子フィールドが一つも存在しない場合にtrueを返す
- isExists() : bool
- 指定した名前のフィールドが存在するかどうかを判定する
- isGroup() : bool
- 指定したフィールド名のフィールドがフィールドグループかどうかを判定する
- isNull() : bool
- 指定したフィールド名のフィールドがnullかどうかを判定する $fdにnullを指定した場合は、フィールドが一つも存在しない場合にtrueを返す
- listChildren() : array<string|int, string>
- 子フィールド名を列挙する
- listFields() : array<string|int, string>
- フィールド名を列挙する
- overload() : void
- オブジェクトを上書きする
- parse() : void
- フィールドクエリを解析する
- removeChild() : true
- 指定した名前の子フィールドを削除する
- reset() : true
- retouchCustomUnit() : void
- カスタムユニットのフィールド名と値を調整します。
- serialize() : string
- シリアライズされた文字列を返す
- set() : bool
- フィールドの値を設定する
- setConnector() : mixed
- 指定したフィールド名のフィールドに対する結合子を設定する
- setField() : bool
- フィールドの値を設定する
- setMeta() : true
- 指定したフィールド名のフィールドにメタ情報を設定する
- setOperator() : mixed
- 指定したフィールド名のフィールドに対する演算子を設定する
- singleton() : Field
- シングルトンパターンでオブジェクトを生成する
Properties
$_aryChild
public
array<string, Field>
$_aryChild
= []
$_aryConnector
public
array<string, array<string|int, "and"|"or"|null>>
$_aryConnector
= []
$_aryField
public
array<string, array<string|int, mixed>>
$_aryField
= []
$_aryMeta
public
array<string, array<string|int, mixed>>
$_aryMeta
= []
$_aryOperator
public
array<string, array<string|int, "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null>>
$_aryOperator
= []
$_arySeparator
public
array<string, array<string|int, "and"|"or">>
$_arySeparator
= []
Methods
__construct()
constructor
public
final __construct([Field|array<string, mixed>|string|null $Field = null ][, bool $isDeep = false ]) : mixed
Parameters
- $Field : Field|array<string, mixed>|string|null = null
- $isDeep : bool = false
add()
alias for addField
public
add(string $fd, array<string|int, mixed>|string|int|float|null $vals) : bool
Parameters
- $fd : string
-
フィールド名
- $vals : array<string|int, mixed>|string|int|float|null
Return values
booladdChild()
指定した名前の子フィールドを設定する
public
addChild(string $name, Field &$Field) : true
Parameters
- $name : string
- $Field : Field
Return values
trueaddConnector()
指定したフィールド名のフィールドに対する結合子を追加する
public
addConnector(string $fd, "and"|"or" $connector) : mixed
Parameters
- $fd : string
- $connector : "and"|"or"
addField()
指定したフィールド名のフィールドに値を追加する
public
addField(string $fd, array<string|int, mixed>|string|int|float|null $vals) : bool
Parameters
- $fd : string
-
フィールド名
- $vals : array<string|int, mixed>|string|int|float|null
Return values
booladdOperator()
指定したフィールド名のフィールドに対する演算子を追加する
public
addOperator(string $fd, "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null $operator) : mixed
Parameters
- $fd : string
- $operator : "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null
addSeparator()
指定したフィールド名のフィールドに対する論理演算子を追加する
public
addSeparator(string $fd, "and"|"or" $separator) : mixed
Parameters
- $fd : string
- $separator : "and"|"or"
cloneWith()
指定したフィールドをコピーして、新しいオブジェクトを生成します。
public
cloneWith(array<string|int, mixed> $fieldNames) : static
Parameters
- $fieldNames : array<string|int, mixed>
Tags
Return values
staticdelete()
alias for deleteField
public
delete(mixed $fd) : bool
Parameters
- $fd : mixed
Tags
Return values
booldeleteField()
指定したフィールド名のフィールドを削除する
public
deleteField(string $fd) : bool
Parameters
- $fd : string
Return values
booldig()
指定されたスコープ名に基づいてフィールド構造を深掘りし、関連するフィールドデータを整理します。
public
& dig([string $scp = 'field' ]) : Field
指定されたスコープ名の子フィールドを生成または取得し、 そのスコープ内で定義されているフィールドの値を元フィールドから新しい子フィールドに追加します。 返り値として、新しい子フィールドを返します。
Parameters
- $scp : string = 'field'
-
スコープ名
Return values
Field —新たに生成された子フィールドの参照を返す
get()
指定したフィールド名の値を取得する フィールド名に文字列以外を指定した場合はfalseを返す
public
get(T $fd[, string|int|null $def = null ][, int $i = 0 ]) : T is string ? string : false)
Parameters
- $fd : T
- $def : string|int|null = null
- $i : int = 0
Tags
Return values
T is string ? string : false)getArray()
指定したフィールド名の値を配列で取得する
public
getArray(string $fd[, bool $strict = false ]) : array<string|int, mixed>
Parameters
- $fd : string
- $strict : bool = false
-
falseの場合、空文字、null、フィールドグループを削除した配列を返す。デフォルトはfalse
Return values
array<string|int, mixed>getChild()
指定した名前の子フィールドを取得する
public
& getChild(string $name) : Field
Parameters
- $name : string
Return values
FieldgetConnector()
指定したフィールド名のフィールドに対する演算子を取得する 第2引数を指定しない場合は、フィールドに対する演算子の配列を返す
public
getConnector(string $fd[, T $i = 0 ]) : T is null ? ("and"|"or"|null)[] : "and"|"or"|null)
Parameters
- $fd : string
- $i : T = 0
Tags
Return values
T is null ? ("and"|"or"|null)[] : "and"|"or"|null)getMeta()
指定したフィールド名のフィールドに設定されたメタ情報を取得する $keyを指定しない場合は、指定したフィールド名のメタ情報すべてを配列で返す
public
getMeta(string $fd[, T $key = null ]) : T is non-empty-string ? string|null : array)
Parameters
- $fd : string
-
フィールド名
- $key : T = null
-
メタ情報のキー
Tags
Return values
T is non-empty-string ? string|null : array)getOperator()
指定したフィールド名のフィールドに対する結合子を取得する 第2引数を指定しない場合は、フィールドに対する結合子の配列を返す
public
getOperator(string $fd[, T $i = 0 ]) : T is null ? ("eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)[] : "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)
Parameters
- $fd : string
-
フィールド名
- $i : T = 0
-
結合子の指定 (省略可能)
Tags
Return values
T is null ? ("eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)[] : "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null)getSeparator()
指定したフィールド名のフィールドに対する論理演算子を取得する
public
getSeparator(string $fd) : "and"|"or"
Parameters
- $fd : string
Return values
"and"|"or"hasEmptyOperator()
指定したフィールドが em 演算子を持つかどうかを判定する
public
hasEmptyOperator(string $fd) : bool
Parameters
- $fd : string
Return values
boolisChildExists()
指定した名前の子フィールドが存在するかどうかを判定する 名前を指定しない場合は、子フィールドが一つも存在しない場合にtrueを返す
public
isChildExists([string|null $name = null ]) : bool
Parameters
- $name : string|null = null
Return values
boolisExists()
指定した名前のフィールドが存在するかどうかを判定する
public
isExists(string $fd[, int|null $i = null ]) : bool
Parameters
- $fd : string
- $i : int|null = null
Return values
boolisGroup()
指定したフィールド名のフィールドがフィールドグループかどうかを判定する
public
isGroup(string $fd) : bool
Parameters
- $fd : string
Return values
boolisNull()
指定したフィールド名のフィールドがnullかどうかを判定する $fdにnullを指定した場合は、フィールドが一つも存在しない場合にtrueを返す
public
isNull([string|null $fd = null ][, int $i = 0 ]) : bool
Parameters
- $fd : string|null = null
- $i : int = 0
Return values
boollistChildren()
子フィールド名を列挙する
public
listChildren() : array<string|int, string>
Return values
array<string|int, string>listFields()
フィールド名を列挙する
public
listFields() : array<string|int, string>
Return values
array<string|int, string>overload()
オブジェクトを上書きする
public
overload(mixed $Field[, mixed $isDeep = false ]) : void
Parameters
- $Field : mixed
- $isDeep : mixed = false
Tags
parse()
フィールドクエリを解析する
public
parse(mixed $query) : void
Parameters
- $query : mixed
Tags
removeChild()
指定した名前の子フィールドを削除する
public
removeChild(mixed $name) : true
Parameters
- $name : mixed
Return values
truereset()
public
reset([bool $isDeep = false ]) : true
Parameters
- $isDeep : bool = false
-
非推奨の引数です。使用しないでください。
Return values
trueretouchCustomUnit()
カスタムユニットのフィールド名と値を調整します。
public
retouchCustomUnit([string $id = '' ]) : void
フィールド名と値のペアを走査し、フィールド名に指定されたIDが含まれている場合に、 そのIDを除去して新しいフィールド名として設定します。IDがフィールド値にも含まれている場合(フィールド名が'@'で始まる場合)、 値に対しても同様の処理を行います。
処理の結果、フィールド名からIDが除去された新しい配列が_aryFieldプロパティに設定されます。
また、メタデータを格納する_aryMetaプロパティは空の配列にリセットされます。
Parameters
- $id : string = ''
-
ユニットID。デフォルトは空文字列です。
serialize()
シリアライズされた文字列を返す
public
serialize() : string
Tags
Return values
stringset()
フィールドの値を設定する
public
set(string $fd[, array<string|int, mixed>|string|int|float|null $vals = null ]) : bool
Parameters
- $fd : string
-
フィールド名
- $vals : array<string|int, mixed>|string|int|float|null = null
Return values
boolsetConnector()
指定したフィールド名のフィールドに対する結合子を設定する
public
setConnector(string $fd[, "and"|"or"|null $connector = null ]) : mixed
Parameters
- $fd : string
- $connector : "and"|"or"|null = null
setField()
フィールドの値を設定する
public
setField(string $fd[, array<string|int, mixed>|string|int|float|null $vals = null ]) : bool
Parameters
- $fd : string
-
フィールド名
- $vals : array<string|int, mixed>|string|int|float|null = null
Return values
boolsetMeta()
指定したフィールド名のフィールドにメタ情報を設定する
public
setMeta(string $fd[, string|null $key = null ][, mixed $val = null ]) : true
Parameters
- $fd : string
-
フィールド名
- $key : string|null = null
-
メタ情報のキー
- $val : mixed = null
-
メタ情報の値
Return values
truesetOperator()
指定したフィールド名のフィールドに対する演算子を設定する
public
setOperator(string $fd[, "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null $operator = null ]) : mixed
Parameters
- $fd : string
- $operator : "eq"|"neq"|"gt"|"gte"|"lt"|"lte"|"lk"|"nlk"|"re"|"nre"|"em"|"nem"|null = null
singleton()
シングルトンパターンでオブジェクトを生成する
public
static & singleton(string $key[, null|Field $Field = null ]) : Field
Parameters
- $key : string
- $Field : null|Field = null