Commit c5748f98 authored by Jorgen's avatar Jorgen

Add License and readme files

parent ae507f77
MIT License
Copyright (c) 2018 eterfund
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# typos_api # Etersoft/retypos-adapter
Etersoft typo api library
Retypos-adapter - это набор интерфейсов для PHP сервера, которые необходимо реализовать для
использования системы исправления опечаток Etersoft. Retypos-adapter работает по протоколу json
rpc и взаимодействует с сервером исправления опечаток, получая запросы на исправление опечаток и
автоматически применяя изменения к соответствующему серверу.
## Установка с помощью Composer
```bash
composer require etersoft/retypos-api
```
## Компоненты
Retypos-adapter api состоит из двух основных компонентов:
*TyposClient* - компонент, который обрабатывает запросы на исправление опечаток и автоматически
применяет их к тексту.
*TyposClientInterface* - компонент, чьи абстрактные методы необходимо реализовать пользователю и
передать в качестве зависимости TyposClient.
*TyposArticle* - объект, представление статьи. Состоит из уникального id и текста.
## Пример использования
Пример использования системы находится в папке example/.
### Скрипт correctTypo.php
```php
$interface = new MyClientInterface();
$client = new \Etersoft\Typos\TyposClient($interface);
echo $client->run();
```
Скрипт correctTypo является входной точкой системы. Его задача - создать экземпляр реализованного интерфейса MyClientInterfact и с помощью него создать экземпляр TyposClient.
Вывод работы клиента передается в качестве ответа серверу исправления опечаток.
### Класс MyClientInterface
Это реализация абстрактного класса TyposClientInterface. Следует обратить внимание на реализацию двух методов.
Метод getArticleFromLink(string $link) отвечает за получение объекта TyposArticle по переданной ссылке статьи или текста. В примере реализация этого метода просто возвращает созданный объект TyposArticle:
```php
protected function getArticleFromLink(string $link)
{
return new TyposArticle(0, "");
}
```
В же реальной реализации он должен определить id статьи по полученной ссылке и вернуть соответствующую статью из базы данных.
Метод saveArticle(TyposArticle $article) отвечает за сохранение измененной статьи в базе данных. В примере использования данный метод не выполняет никакой работы с базой данных, но конкретная реализация должна обеспечить сохранение измененного текста статьи в базе.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment