2017 © Pedro Peláez
 

library scaner

Scaner is a PHP client library

image

ksnk/scaner

Scaner is a PHP client library

  • Thursday, May 31, 2018
  • by Ksnk
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Комплект классов для сканирования разного...

Scaner

Сканер предназначен для поиска в файле или строке. К примеру - в логе на несколько гигабайтов..., (*1)

Методы предлагают в меру удобный механизм для парсинга найденной информации., (*2)

Поиск идет по текстовым файлам, это принципиально, так как основными маркерами при поиске и сдвиге буфера чтения являются переводы строк. При дочитывании буфера гарантируется, что в буфер чтения всегда помещается полная последняя строка., (*3)

При выполнении операций сканирования позиция "курсора чтения" указывает на символ, идущий после последнего захваченного регуляркой символа. Таким образом, следующая операция сканирования будет начинаться оттуда., (*4)

scan

Метод осуществляет поиск с помощью регулярки, либо по подстроке. Файл дочитывается в буфер, в случае неудачи поиска - буфер сдвигается на последнее начало строки в буфере, дочитывается опять и поиск повторяется. В случае, если поиск успешен, все захватывающие подмаски переносятся в соответствующие позиции результирующего массива., (*5)

until

По регулярке или подстроке можно указать нижнюю границу в тексте, до которой операция сканирования может быть успешна если указать без параметра - "нижняя граница" отменяется, (*6)

// TODO: описать till-стек, (*7)

doscan

Повторять операцию сканирования, дополняя массив результата, пока не достигли нижней границы, (*8)

syntax

Простой синтаксический анализ. По указанной ассоциативным массивом с регулярными выражениями синтаксическим конструкциям собирается полная регулярка поиска. Захваченные этой регуляркой подмаски разбираются по именам подрегулярок в результирующий массив. Работа функции, по сути, похожа на работу doscan, так что удобнее работать с синтаксисом с помощью callback-функций., (*9)

Console

класс - наследуется от Scaner и служит для работы с консольными командами., (*10)

$gitname='/opt/git/'.$project.'.git';
$console
   ->cmd('ssh root@mysite.ru')
   ->cmd('git','init')
   ->cmd('git clone --bare . ', $gitname)
   ->cmd('git remote add shared', $gitname)
   ->cmd('git push shared master')
   ->cmd('chown -R git .git')
   ->run('chown -R git', $gitname);

В дополнение к методам сканера реализует, (*11)

cmd

Добавить в пул команд еще одну команду, (*12)

run

Выполнить все команды, уложенные в пул. Результат выполнения команд доступен для сканирования с помощью методов класса, (*13)

The Versions

31/05 2018

dev-master

9999999-dev

Scaner is a PHP client library

  Sources   Download

MIT

The Requires

  • php >=7.0

 

The Development Requires

framework client