| 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,390 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.
 If you know an application of this package, send a message to the author to add a link here.