Download the PHP package vitalyspirin/yii2-simpleactiverecord without Composer
On this page you can find all versions of the php package vitalyspirin/yii2-simpleactiverecord. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vitalyspirin/yii2-simpleactiverecord
More information about vitalyspirin/yii2-simpleactiverecord
Files in vitalyspirin/yii2-simpleactiverecord
Package yii2-simpleactiverecord
Short Description Extension of Yii2 ActiveRecord with added automatically generaged validators
License
Homepage https://github.com/vitalyspirin/yii2-simpleactiverecord
Informations about the package yii2-simpleactiverecord
SimpleActiveRecord
Extension of Yii 2 ActiveRecord with automatically generated validators.
Quick Start
To install it you can just download zip or use composer:
To use it in code:
There is no need to overload rules() function to specify validators. Validators will be added automatically by class constructor based on table schema. However in current version relations (based on foreign keys) will not be added.
There are two ways to create an instance of such class. Constructor of SimpleActiveRecord takes one boolean parameter: $maximumValidation. If it's 'false' then only those validators will be added that are generated by Gii. In terms of above example it will look like this:
If to pass 'true' (which is also default) then maximum validation functionality will be added. It includes ranges for integer, ranges for enum, pattern for time etc. Of course you can see those validators:
If table schema changed then validators will be adjusted automatically.
Examples
Let's say we have the following SQL schema:
then if we run the following code:
we will get the following output:
Above validators are the same that would be generated by Gii module of Yii. Additional validators can be generated if to call class constructor without false parameter:
In this case the output will be the following (pay attention to 'person_gender', 'person_dob' and 'person_salary' fields):
array (size=5) 0 => array (size=2) 0 => array (size=2) 0 => string 'person_firstname' (length=16) 1 => string 'person_lastname' (length=15) 1 => string 'required' (length=8) 1 => array (size=3) 0 => array (size=1) 0 => string 'person_gender' (length=13) 1 => string 'in' (length=2) 'range' => array (size=2) 0 => string 'male' (length=4) 1 => string 'female' (length=6) 2 => array (size=5) 0 => array (size=1) 0 => string 'person_dob' (length=10) 1 => string 'date' (length=4) 'format' => string 'yyyy-MM-dd' (length=10) 'min' => string '1000-01-01' (length=10) 'max' => string '9999-12-31' (length=10) 3 => array (size=3) 0 => array (size=1) 0 => string 'person_salary' (length=13) 1 => string 'number' (length=6) 'min' => int 0 4 => array (size=3) 0 => array (size=2) 0 => string 'person_firstname' (length=16) 1 => string 'person_lastname' (length=15) 1 => string 'string' (length=6) 'max' => int 35
You can also pass properties to contructor:
In the case above maximum validation will be chosen by default. You can specify validation level explicitly (Gii style validation in the example below):
Additional features
This extension of Active Record has also function getEnumValues() that shows enum values for table column. The following code
will return
You can also see tests in SimpleActiveRecordTest.php for simple examples.
All versions of yii2-simpleactiverecord with dependencies
yidas/yii2-composer-bower-skip Version ~2.0.0
yiisoft/yii2 Version >=2.0.5