mazay98/searcher

There is no license information available for the latest version (dev-master) of this package.

Find substring in string, special for prkt

dev-master 2020-05-01 21:23 UTC

This package is auto-updated.

Last update: 2024-05-29 05:01:45 UTC


README

Требования:

● использовать версию php 7+;

● результат опубликовать на github.

Зaдaниe нa знaниe PHP:

Дополнительные пункты можно не выполнять если они непонятны или в них нет уверенности.

  1. Нужно создать ​ библиотеку​ , которая сможет искать в файле вхождение строки, и выдавать номер строки в файле и позицию в строке. Файл может быть произвольного размера.

  2. Дополнительно: предусмотреть ограничения (максимальный размер файла, его mime-type, и т.п.). Желательно их вынести в отдельный yaml конфиг.

  3. Дополнительно: покрыть код тестами.

  4. Дополнительно: сделать возможность читать данные не только с локальной файловой системы, но и удаленной.

  5. [?] Дополнительно: сделать возможность добавления модулей для разных механизмов поиска (например, если нужно искать не вхождение, а сравнивать хэш-суммы, и т.п.)

Настройки

Файл с настройками проекта лежит в корне (settings.yaml)

Доступные секции для настроек:
file: 
  max_size_kb: 1024
  mime_type:
    txt: true
    word: true

storage:
  host: ''
  path: ''
  login: ''
  password: ''

file - Настройки файла, доступны 2 типа настроек:

max_size_kb - Максимальный размер файла в КБ

mime_type - Разрешенные типы файлов для чтения

storage - Настройка подключения к ftp

host - Uri или ip адрес path - Путь к файлу на сервере login - Логин password - Пароль

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

$searcher = new Search(); - Инициализация главного класса

$serched = $searcher->search(); - Метод для поиска строки или слова в файле принимает 2 обязательных параметра.

Параметры:

Путь к файлу

Искомое слово

Путь к файлу с настройками*

Пример:
$serched = $searcher->search('text.txt', 'Задача');