Recommend this page to a friend! |
Download |
Info | Documentation | Files | Install with Composer | Download | Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not yet rated by the users | Total: 18 | All time: 11,322 This week: 455 |
Version | License | PHP version | Categories | |||
yii2-arsync 1.0 | MIT/X Consortium ... | 5 | PHP 5, Databases, Design Patterns |
This behavior for automatic or manual sync data between two models, without declaration relation. This behavior must be attached on master model. Main purposes - for sync rarely modified data from more reliable database storage to redis storage for frequently access; Support actual data state in some development cases;
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist insolita/yii2-arsync "*"
or add
"insolita/yii2-arsync": "*"
to the require section of your composer.json
file.
Once the extension is installed, simply use it in your code by : See more in code
public function behaviors(){
return [
'ArSyncBehavior'=>[
'class' => ArSyncBehavior::class,
'slaveModel' => \your\model\namespase\Slave::className(),
'slaveScenario'=>'sync',
'errorSaveCallback'=>function($slave){
Yii::error(VarDumper::export($slave->errors));
throw new InvalidConfigException('fail save ');
},
'errorDeleteCallback'=>function($slave){
Yii::error('fail delete '.$slave->getPrimaryKey());
},
'fieldMap' => [
'id'=>'id',
'title' => 'name',
'foo' => 'foo',
'bar' => 'bar',
'baz' => function($master)
{
return $master->baz * 2;
},
],
]
];
}
Files (11) |
File | Role | Description | ||
---|---|---|---|---|
tests (1 directory) | ||||
ArSyncBehavior.php | Class | Class source | ||
composer.json | Data | Auxiliary data | ||
README.md | Doc. | Documentation |
Files (11) | / | tests | / | codeception | / | common |
File | Role | Description | ||
---|---|---|---|---|
migrations (1 file) | ||||
unit (1 file, 2 directories) | ||||
PrivateTestTrait.php | Class | Class source |
Files (11) | / | tests | / | codeception | / | common | / | migrations |
File | Role | Description |
---|---|---|
m160511_151843_synctest.php | Class | Class source |
Files (11) | / | tests | / | codeception | / | common | / | unit |
File | Role | Description | ||
---|---|---|---|---|
behaviors (1 file) | ||||
fixtures (4 files) | ||||
TestCase.php | Class | Class source |
Files (11) | / | tests | / | codeception | / | common | / | unit | / | behaviors |
File | Role | Description |
---|---|---|
ArSyncBehaviorTest.php | Class | Class source |
Files (11) | / | tests | / | codeception | / | common | / | unit | / | fixtures |
File | Role | Description |
---|---|---|
DbMaster.php | Class | Class source |
DbSlave.php | Class | Class source |
RedisMaster.php | Class | Class source |
RedisSlave.php | Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.