Cette bibliothèque facilite la synchronisation de toutes sortes de choses. Il dispose d’une API belle et facile à utiliser.
synchronizer a été développé comme backend pour notre outil de déploiement et de test Seabreeze.
La bibliothèque synchronizer n'est qu'une fondation abstraite. Mais des implémentations concrètes sont disponibles :
Incluez le chargeur automatique du fournisseur et utilisez les classes :
namespace Acme MyApplication ;
// To create a synchronizer :
use FlameCore synchronizer Abstract synchronizer ;
use FlameCore synchronizer synchronizer SourceInterface ;
use FlameCore synchronizer synchronizer TargetInterface ;
// To make your project compatible with synchronizer :
use FlameCore synchronizer synchronizer Interface ;
require ' vendor/autoload.php ' ;
Créez votre synchronizer :
class Example synchronizer extends Abstract synchronizer
{
/**
* @param bool $preserve Preserve obsolete objects
* @return bool Returns whether the synchronization succeeded.
*/
public function synchronize ( $ preserve = true )
{
// Do the sync magic
return true ;
}
/**
* @param synchronizer SourceInterface $source The source
* @return bool Returns whether the synchronizer supports the source.
*/
public function supportsSource ( synchronizer SourceInterface $ source )
{
return $ source instanceof ExampleSource;
}
/**
* @param synchronizer TargetInterface $target The target
* @return bool Returns whether the synchronizer supports the target.
*/
public function supportsTarget ( synchronizer TargetInterface $ target )
{
return $ target instanceof ExampleTarget;
}
}
Créez votre source et votre cible :
class ExampleSource implements synchronizer SourceInterface
{
/**
* @param array $settings The settings
*/
public function __construct ( array $ settings )
{
// Save settings
}
// Your methods...
}
class ExampleTarget implements synchronizer TargetInterface
{
/**
* @param array $settings The settings
*/
public function __construct ( array $ settings )
{
// Save settings
}
// Your methods...
}
Rendre votre projet compatible avec synchronizer :
class Application
{
protected $ synchronizer ;
public function set synchronizer ( synchronizer Interface $ synchronizer )
{
$ this -> synchronizer = $ synchronizer ;
}
// ...
}
Installez Composer si vous ne l'avez pas déjà présent sur votre système :
$ curl -sS https://getcomposer.org/installer | php
Pour installer la bibliothèque, exécutez la commande suivante et vous obtiendrez la dernière version :
$ php composer.phar require flamecore/ synchronizer
Si vous souhaitez contribuer, veuillez d'abord consulter le fichier CONTRIBUTION.