etersoft / retypos-adapter
This package is a part of Etersoft Typos system - typo fixing system.
Requires
- fguillot/json-rpc: @stable
Requires (Dev)
- phpunit/phpunit: ^7
This package is not auto-updated.
Last update: 2025-03-24 10:32:41 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) отвечает за сохранение измененной статьи в базе данных. В примере использования данный метод не выполняет никакой работы с базой данных, но конкретная реализация должна обеспечить сохранение измененного текста статьи в базе.