etersoft/retypos-adapter

This package is a part of Etersoft Typos system - typo fixing system.

dev-master 2018-10-29 15:54 UTC

This package is not auto-updated.

Last update: 2024-04-22 06:24:33 UTC


README

Retypos-adapter - это набор интерфейсов для PHP сервера, которые необходимо реализовать для использования системы исправления опечаток Etersoft. Retypos-adapter работает по протоколу json rpc и взаимодействует с сервером исправления опечаток, получая запросы на исправление опечаток и автоматически применяя изменения к соответствующему серверу.

Установка с помощью Composer

composer require etersoft/retypos-api

Компоненты

Retypos-adapter api состоит из двух основных компонентов:

TyposClient - компонент, который обрабатывает запросы на исправление опечаток и автоматически применяет их к тексту.

TyposClientInterface - компонент, чьи абстрактные методы необходимо реализовать пользователю и передать в качестве зависимости TyposClient.

TyposArticle - объект, представление статьи. Состоит из уникального id и текста.

Пример использования

Пример использования системы находится в папке example/.

Скрипт correctTypo.php

$interface = new MyClientInterface();

$client = new \Etersoft\Typos\TyposClient($interface);

echo $client->run();

Скрипт correctTypo является входной точкой системы. Его задача - создать экземпляр реализованного интерфейса MyClientInterfact и с помощью него создать экземпляр TyposClient. Вывод работы клиента передается в качестве ответа серверу исправления опечаток.

Класс MyClientInterface

Это реализация абстрактного класса TyposClientInterface. Следует обратить внимание на реализацию двух методов.

Метод getArticleFromLink(string $link) отвечает за получение объекта TyposArticle по переданной ссылке статьи или текста. В примере реализация этого метода просто возвращает созданный объект TyposArticle:

protected function getArticleFromLink(string $link)
{
    return new TyposArticle(0, "");
}

В же реальной реализации он должен определить id статьи по полученной ссылке и вернуть соответствующую статью из базы данных.

Метод saveArticle(TyposArticle $article) отвечает за сохранение измененной статьи в базе данных. В примере использования данный метод не выполняет никакой работы с базой данных, но конкретная реализация должна обеспечить сохранение измененного текста статьи в базе.