LuaScriptBuilder
extends BaseObject
in package
LuaScriptBuilder builds lua scripts used for retrieving data from redis.
Tags
Table of Contents
Methods
- __call() : mixed
- Calls the named method which is not a class method.
- __construct() : mixed
- Constructor.
- __get() : mixed
- Returns the value of an object property.
- __isset() : bool
- Checks if a property is set, i.e. defined and not null.
- __set() : mixed
- Sets value of an object property.
- __unset() : mixed
- Sets an object property to null.
- buildAll() : string
- Builds a Lua script for finding a list of records
- buildAverage() : string
- Builds a Lua script for finding the average of a column
- buildColumn() : string
- Builds a Lua script for finding a column
- buildCondition() : string
- Parses the condition specification and generates the corresponding Lua expression.
- buildCount() : string
- Builds a Lua script for getting count of records
- buildMax() : string
- Builds a Lua script for finding the max value of a column
- buildMin() : string
- Builds a Lua script for finding the min value of a column
- buildOne() : string
- Builds a Lua script for finding one record
- buildSum() : string
- Builds a Lua script for finding the sum of a column
- canGetProperty() : bool
- Returns a value indicating whether a property can be read.
- canSetProperty() : bool
- Returns a value indicating whether a property can be set.
- className() : string
- Returns the fully qualified name of this class.
- hasMethod() : bool
- Returns a value indicating whether a method is defined.
- hasProperty() : bool
- Returns a value indicating whether a property is defined.
- init() : mixed
- Initializes the object.
- buildCompareCondition() : mixed
- buildCompositeInCondition() : mixed
- addColumn() : string
- Adds a column to the list of columns to retrieve and creates an alias
- build() : string
- buildAndCondition() : mixed
- buildBetweenCondition() : mixed
- buildHashCondition() : mixed
- buildInCondition() : mixed
- buildLikeCondition() : mixed
- buildNotCondition() : mixed
- quoteValue() : string
- Quotes a string value for use in a query.
Methods
__call()
Calls the named method which is not a class method.
public
__call(string $name, array<string|int, mixed> $params) : mixed
Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.
Parameters
- $name : string
-
the method name
- $params : array<string|int, mixed>
-
method parameters
Tags
Return values
mixed —the method return value
__construct()
Constructor.
public
__construct([array<string|int, mixed> $config = [] ]) : mixed
The default implementation does two things:
- Initializes the object with the given configuration
$config
. - Call [[init()]].
If this method is overridden in a child class, it is recommended that
- the last parameter of the constructor is a configuration array, like
$config
here. - call the parent implementation at the end of the constructor.
Parameters
- $config : array<string|int, mixed> = []
-
name-value pairs that will be used to initialize the object properties
__get()
Returns the value of an object property.
public
__get(string $name) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $value = $object->property;
.
Parameters
- $name : string
-
the property name
Tags
Return values
mixed —the property value
__isset()
Checks if a property is set, i.e. defined and not null.
public
__isset(string $name) : bool
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing isset($object->property)
.
Note that if the property is not defined, false will be returned.
Parameters
- $name : string
-
the property name or the event name
Tags
Return values
bool —whether the named property is set (not null).
__set()
Sets value of an object property.
public
__set(string $name, mixed $value) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $object->property = $value;
.
Parameters
- $name : string
-
the property name or the event name
- $value : mixed
-
the property value
Tags
__unset()
Sets an object property to null.
public
__unset(string $name) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing unset($object->property)
.
Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.
Parameters
- $name : string
-
the property name
Tags
buildAll()
Builds a Lua script for finding a list of records
public
buildAll(ActiveQuery $query) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
Return values
stringbuildAverage()
Builds a Lua script for finding the average of a column
public
buildAverage(ActiveQuery $query, string $column) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $column : string
-
name of the column
Return values
stringbuildColumn()
Builds a Lua script for finding a column
public
buildColumn(ActiveQuery $query, string $column) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $column : string
-
name of the column
Return values
stringbuildCondition()
Parses the condition specification and generates the corresponding Lua expression.
public
buildCondition(string|array<string|int, mixed> $condition, array<string|int, mixed> &$columns) : string
Parameters
- $condition : string|array<string|int, mixed>
-
the condition specification. Please refer to [[ActiveQuery::where()]] on how to specify a condition.
- $columns : array<string|int, mixed>
-
the list of columns and aliases to be used
Tags
Return values
string —the generated SQL expression
buildCount()
Builds a Lua script for getting count of records
public
buildCount(ActiveQuery $query) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
Return values
stringbuildMax()
Builds a Lua script for finding the max value of a column
public
buildMax(ActiveQuery $query, string $column) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $column : string
-
name of the column
Return values
stringbuildMin()
Builds a Lua script for finding the min value of a column
public
buildMin(ActiveQuery $query, string $column) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $column : string
-
name of the column
Return values
stringbuildOne()
Builds a Lua script for finding one record
public
buildOne(ActiveQuery $query) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
Return values
stringbuildSum()
Builds a Lua script for finding the sum of a column
public
buildSum(ActiveQuery $query, string $column) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $column : string
-
name of the column
Return values
stringcanGetProperty()
Returns a value indicating whether a property can be read.
public
canGetProperty(string $name[, bool $checkVars = true ]) : bool
A property is readable if:
- the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property can be read
canSetProperty()
Returns a value indicating whether a property can be set.
public
canSetProperty(string $name[, bool $checkVars = true ]) : bool
A property is writable if:
- the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property can be written
className()
Returns the fully qualified name of this class.
public
static className() : string
Tags
Return values
string —the fully qualified name of this class.
hasMethod()
Returns a value indicating whether a method is defined.
public
hasMethod(string $name) : bool
The default implementation is a call to php function method_exists()
.
You may override this method when you implemented the php magic method __call()
.
Parameters
- $name : string
-
the method name
Return values
bool —whether the method is defined
hasProperty()
Returns a value indicating whether a property is defined.
public
hasProperty(string $name[, bool $checkVars = true ]) : bool
A property is defined if:
- the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property is defined
init()
Initializes the object.
public
init() : mixed
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
buildCompareCondition()
protected
buildCompareCondition(mixed $operator, mixed $operands, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $columns : mixed
buildCompositeInCondition()
protected
buildCompositeInCondition(mixed $operator, mixed $inColumns, mixed $values, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $inColumns : mixed
- $values : mixed
- $columns : mixed
addColumn()
Adds a column to the list of columns to retrieve and creates an alias
private
addColumn(string $column, array<string|int, mixed> &$columns) : string
Parameters
- $column : string
-
the column name to add
- $columns : array<string|int, mixed>
-
list of columns given by reference
Return values
string —the alias generated for the column name
build()
private
build(ActiveQuery $query, string $buildResult, string $return) : string
Parameters
- $query : ActiveQuery
-
the query used to build the script
- $buildResult : string
-
the lua script for building the result
- $return : string
-
the lua variable that should be returned
Tags
Return values
stringbuildAndCondition()
private
buildAndCondition(mixed $operator, mixed $operands, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $columns : mixed
buildBetweenCondition()
private
buildBetweenCondition(mixed $operator, mixed $operands, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $columns : mixed
buildHashCondition()
private
buildHashCondition(mixed $condition, mixed &$columns) : mixed
Parameters
- $condition : mixed
- $columns : mixed
buildInCondition()
private
buildInCondition(mixed $operator, mixed $operands, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $columns : mixed
buildLikeCondition()
private
buildLikeCondition(mixed $operator, mixed $operands, mixed &$columns) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $columns : mixed
buildNotCondition()
private
buildNotCondition(mixed $operator, mixed $operands, mixed &$params) : mixed
Parameters
- $operator : mixed
- $operands : mixed
- $params : mixed
quoteValue()
Quotes a string value for use in a query.
private
quoteValue(string $str) : string
Note that if the parameter is not a string or int, it will be returned without change.
Parameters
- $str : string
-
string to be quoted
Return values
string —the properly quoted string