Strategies

Las strategies deben implementar la interfaz StrategyInterface y declarar la función __invoke(), que recibirá por parámetro el valor y devolverá una cadena o un array de cadenas sobre las que se crearán los indices.

<?php

use Omatech\Enigma\Strategies\Contracts\StrategyInterface;

class LikeSearch implements StrategyInterface
{
    public function __invoke($input)
    {
        $possibilities = [];
        $len = strlen($input);

        for ($i = 0; $i <= $len; $i++) {
            for ($j = 0; $j <= $len; $j++) {
                $possibilities[] = (string) substr($input, $i, $j);
            }
        }

        return array_filter(array_unique($possibilities));
    }
}

Last updated