levenify / levenify-bundle
A better Levenshtein function in your Symfony project
Installs: 3 268
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.2.5
- doctrine/dbal: *
- doctrine/orm: *
- symfony/framework-bundle: *
This package is auto-updated.
Last update: 2025-07-28 22:58:47 UTC
README
A better Levenshtein function in your Symfony project
How to install Levenify
- Step 1 : Install package
composer req levenify/levenify-bundle
- Step 2 : Setup your database with command
bin/console levenify:install
- Step 3 : Setup your config.yml
# app/config/config.yml doctrine: orm: dql: numeric_functions: levenshtein: Levenify\LevenifyBundle\ORM\Doctrine\DQL\Levenshtein levenshtein_ratio: Levenify\LevenifyBundle\ORM\Doctrine\DQL\LevenshteinRatio
How to use Levenify
- With Query Builder
<?php public function getProductByName($searchString, $tolerance = 3) { $queryBuilder = $this->_em->createQueryBuilder() ->select('p') ->from('Product::class', 'p') ->where('LEVENSHTEIN(p.name, :searchString) <= :tolerance') ->setParameter('searchString', $searchString) ->setParameter('tolerance', $tolerance) ; return $queryBuilder->getQuery()->getResult(); } ?>
- With DQL
<?php public function getProductByName($searchString, $tolerance = 3) { $dqlString = ' SELECT product FROM Product::class p WHERE LEVENSHTEIN(p.name, :searchString) <= :tolerance '; $query = $this->_em->createQuery($dqlString) ->setParameter('searchString', $searchString) ->setParameter('tolerance', $tolerance) ; return $query->getResult(); } ?>
--- Q: What is the difference between basic Levenshtein function and Levenify ?
--- A: First parameter of the function can be composed of multiple words !