ModelCore
in package
The class from which all models inherit, connects to the database, check the structure of the table and if necessary create or adapt.
Tags
Table of Contents
- AUDIT_CHANNEL = 'audit'
- DATE_STYLE = 'd-m-Y'
- DATETIME_STYLE = 'd-m-Y H:i:s'
- HOUR_STYLE = 'H:i:s'
- $checkedTables : array<string|int, mixed>
- List of already tested tables.
- $dataBase : DataBase
- It provides direct access to the database.
- __construct() : mixed
- ModelClass constructor.
- addExtension() : mixed
- Adds an extension to this model.
- changePrimaryColumnValue() : bool
- Change the value of the primary column in the model and the database.
- clear() : mixed
- Reset the values of all model properties.
- getModelFields() : array<string|int, mixed>
- Returns the list of fields in the table.
- install() : string
- This function is called when creating the model table. Returns the SQL that will be executed after the creation of the table. Useful to insert values default.
- loadFromData() : mixed
- Assign the values of the $data array to the model properties.
- modelClassName() : string
- Returns the name of the class of the model.
- pipe() : mixed
- Executes all $name methods added from the extensions.
- pipeFalse() : bool
- Executes all $name methods added from the extensions until someone returns false.
- primaryColumn() : string
- Returns the name of the column that is the model's primary key.
- primaryColumnValue() : mixed
- Returns the current value of the main column of the model.
- table() : DbQuery
- tableName() : string
- Returns the name of the table that uses this model.
- toArray() : array<string|int, mixed>
- Returns an array with the model fields values.
- loadModelFields() : mixed
- Loads table fields if is necessary.
- modelName() : string
- Returns the name of the model.
- toolBox() : ToolBox
- Returns a new instance of the ToolBox class.
- checkTable() : bool
- Checks and updates the structure of the table if necessary.
- getBoolValueForField() : bool|null
- Returns the boolean value for the field.
- getFloatValueForField() : float|null
- Returns the float value for the field.
- getIntegerValueForField() : int|null
- Returns the integer value by controlling special cases for the PK and FK.
Constants
AUDIT_CHANNEL
public
mixed
AUDIT_CHANNEL
= 'audit'
DATE_STYLE
public
mixed
DATE_STYLE
= 'd-m-Y'
DATETIME_STYLE
public
mixed
DATETIME_STYLE
= 'd-m-Y H:i:s'
HOUR_STYLE
public
mixed
HOUR_STYLE
= 'H:i:s'
Properties
$checkedTables
List of already tested tables.
protected
static array<string|int, mixed>
$checkedTables
= []
$dataBase
It provides direct access to the database.
protected
static DataBase
$dataBase
Methods
__construct()
ModelClass constructor.
public
__construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
Return values
mixed —addExtension()
Adds an extension to this model.
public
abstract static addExtension(mixed $extension) : mixed
Parameters
- $extension : mixed
Return values
mixed —changePrimaryColumnValue()
Change the value of the primary column in the model and the database.
public
changePrimaryColumnValue(mixed $newValue) : bool
Parameters
- $newValue : mixed
Return values
bool —clear()
Reset the values of all model properties.
public
clear() : mixed
Return values
mixed —getModelFields()
Returns the list of fields in the table.
public
abstract getModelFields() : array<string|int, mixed>
Return values
array<string|int, mixed> —install()
This function is called when creating the model table. Returns the SQL that will be executed after the creation of the table. Useful to insert values default.
public
install() : string
Return values
string —loadFromData()
Assign the values of the $data array to the model properties.
public
loadFromData([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
Return values
mixed —modelClassName()
Returns the name of the class of the model.
public
abstract modelClassName() : string
Return values
string —pipe()
Executes all $name methods added from the extensions.
public
abstract pipe(string $name, array<string|int, mixed> ...$arguments) : mixed
Parameters
- $name : string
- $arguments : array<string|int, mixed>
Return values
mixed —pipeFalse()
Executes all $name methods added from the extensions until someone returns false.
public
abstract pipeFalse(string $name, array<string|int, mixed> ...$arguments) : bool
Parameters
- $name : string
- $arguments : array<string|int, mixed>
Return values
bool —primaryColumn()
Returns the name of the column that is the model's primary key.
public
abstract static primaryColumn() : string
Return values
string —primaryColumnValue()
Returns the current value of the main column of the model.
public
primaryColumnValue() : mixed
Return values
mixed —table()
public
static table() : DbQuery
Return values
DbQuery —tableName()
Returns the name of the table that uses this model.
public
abstract static tableName() : string
Return values
string —toArray()
Returns an array with the model fields values.
public
toArray() : array<string|int, mixed>
Return values
array<string|int, mixed> —loadModelFields()
Loads table fields if is necessary.
protected
abstract loadModelFields(DataBase &$dataBase, string $tableName) : mixed
Parameters
- $dataBase : DataBase
- $tableName : string
Return values
mixed —modelName()
Returns the name of the model.
protected
abstract modelName() : string
Return values
string —toolBox()
Returns a new instance of the ToolBox class.
protected
static toolBox() : ToolBox
Tags
Return values
ToolBox —checkTable()
Checks and updates the structure of the table if necessary.
private
checkTable() : bool
Return values
bool —getBoolValueForField()
Returns the boolean value for the field.
private
getBoolValueForField(array<string|int, mixed> $field, mixed $value) : bool|null
Parameters
- $field : array<string|int, mixed>
- $value : mixed
Return values
bool|null —getFloatValueForField()
Returns the float value for the field.
private
getFloatValueForField(array<string|int, mixed> $field, string $value) : float|null
Parameters
- $field : array<string|int, mixed>
- $value : string
Return values
float|null —getIntegerValueForField()
Returns the integer value by controlling special cases for the PK and FK.
private
getIntegerValueForField(array<string|int, mixed> $field, string $value) : int|null
Parameters
- $field : array<string|int, mixed>
- $value : string