定制 cashcarryshop/synchronizer 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cashcarryshop/synchronizer

最新稳定版本:3.0.0

Composer 安装命令:

composer require cashcarryshop/synchronizer

包简介

Synchronize all kinds of things

README 文档

README

  1. Synchronizer
    1. Использование
    2. Установка
      1. Через Composer
    3. Требования

Synchronizer

img img

Эта библиотека позволяет легко синхронизировать самые разные вещи. Он имеет красивый и простой в использовании API.

Использование

Подключите к своему коду autoload.php и используйте классы:

namespace Acme\MyApplication;

use CashCarryShop\Synchronizer\AbstractSynchronizer;
use CashCarryShop\Synchronizer\SynchronizerSourceInterface;
use CashCarryShop\Synchronizer\SynchronizerTargetInterface;

use CashCarryShop\Synchronizer\SynchronizerInterface;

require 'vendor/autoload.php';

Создайте свой синхронизатор:

class ExampleSynchronizer extends AbstractSynchronizer
{
    /**
     * Синхронизировать
     *
     * @param array $settings Настройки для синхронизации
     *
     * @return bool
     */
    public function synchronize(array $settings = []): bool
    {
        /// ... ЛОГИКА ...

        return true;
    }

    /**
     * Проверить, поддерживается ли источник
     *
     * @param SynchronizerSourceInterface $source Источник
     *
     * @return bool
     */
    public function supportsSource(SynchronizerSourceInterface $source): bool
    {
        return $source instanceof ExampleSource;
    }

    /**
     * Проверить, поддерживается ли цель
     *
     * @param SynchronizerTargetInterface $target Цель
     *
     * @return bool
     */
    public function supportsTarget(SynchronizerTargetInterface $target): bool
    {
        return $target instanceof ExampleTarget;
    }
}

Создайте источники и цели синхронизатора:

class ExampleSource implements SynchronizerSourceInterface
{
    /**
     * Создать экземпляр источника
     *
     * @param array $settings Настройки
     */
    public function __construct(array $settings)
    {
        // ... Сохраняем настройки ...
    }

    // .. Методы источника ...
}

class ExampleTarget implements SynchronizerTargetInterface
{
    /**
     * Создать экземпляр цели
     *
     * @param array $settings Настройки
     */
    public function __construct(array $settings)
    {
        // ... Сохраняем настройки ...
    }

    // .. Методы цели ...
}

Создайте свой проект, совместимый с синхронизатором:

class Application
{
    /**
     * Синхронизатор
     *
     * @var SynchronizerInterface
     */
    protected SynchronizerInterface $synchronizer;

    /**
     * Установить синхронизатор
     *
     * @param SynchronizerInterface $synchronizer Синхронизатор
     */
    public function setSynchronizer(SynchronizerInterface $synchronizer): static
    {
        $this->synchronizer = $synchronizer;
    }

    // ...
}

Установка

Через Composer

Install Composer если composer не установлен:

curl -sS https://getcomposer.org/installer | php

Установите библиотеку, эта команда установит самую последнюю версию пакета

composer require cashcarryshop/synchronizer

Требования

  • Ваша версия php должна быть не меньше 8.0

统计信息

  • 总下载量: 36
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unlicense
  • 更新时间: 2024-06-01