PHPackages                             lucasbrito-wdt/lexorank-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lucasbrito-wdt/lexorank-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lucasbrito-wdt/lexorank-php
===========================

A PHP port of LexoRank - a ranking system that uses strings to maintain ordered lists

v1.0.0(3mo ago)0237↓50%MITPHPPHP &gt;=8.0CI failing

Since Jan 20Pushed 3mo agoCompare

[ Source](https://github.com/lucasbrito-wdt/lexorank-php)[ Packagist](https://packagist.org/packages/lucasbrito-wdt/lexorank-php)[ Docs](https://github.com/lucasbrito-wdt/lexorank-php)[ RSS](/packages/lucasbrito-wdt-lexorank-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

LexoRank PHP
============

[](#lexorank-php)

[![Latest Version](https://camo.githubusercontent.com/f7e268c460b4cf8126a90e0cdd5250ca06bb24c56a9841ed69441f79c8031e37/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c75636173627269746f2d7764742f6c65786f72616e6b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lucasbrito-wdt/lexorank-php)[![Tests](https://camo.githubusercontent.com/e9566468c54c9c3e1175d4f92a7aa95811ce739ed830f887861385d5747a5300/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c75636173627269746f2d7764742f6c65786f72616e6b2d7068702f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/lucasbrito-wdt/lexorank-php/actions)[![License](https://camo.githubusercontent.com/7ee6c6b3e7cea46a2176030016d6a5eef51879760595d7a80bc8453275ed28e3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c75636173627269746f2d7764742f6c65786f72616e6b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lucasbrito-wdt/lexorank-php)[![PHP Version](https://camo.githubusercontent.com/f60618bcd536d23858514cfd5de948f15b94d11466f8d6393f364e858ce271f8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6c75636173627269746f2d7764742f6c65786f72616e6b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lucasbrito-wdt/lexorank-php)[![Total Downloads](https://camo.githubusercontent.com/f2a299914cffdbc2de25ca548e9a63b978631a63eb7111ba8fcd15ec22bdd214/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c75636173627269746f2d7764742f6c65786f72616e6b2d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lucasbrito-wdt/lexorank-php)

Uma implementação em PHP do algoritmo LexoRank, usado para ordenação de itens em listas de forma eficiente.

LexoRank é um sistema de ranking usado por ferramentas como Jira e Trello para permitir reordenação eficiente de itens sem precisar atualizar todos os registros.

Instalação
----------

[](#instalação)

### Via Composer (recomendado)

[](#via-composer-recomendado)

```
composer require lucasbrito-wdt/lexorank-php
```

### Manual

[](#manual)

Inclua o autoloader:

```
require_once 'src/autoload.php';
```

Uso
---

[](#uso)

### Importando as classes

[](#importando-as-classes)

```
use LexoRank\LexoRank\LexoRank;
use LexoRank\LexoRank\LexoRankBucket;
```

### Criando ranks

[](#criando-ranks)

```
// Rank mínimo
$min = LexoRank::min();

// Rank máximo
$max = LexoRank::max();

// Rank do meio
$middle = LexoRank::middle();

// Rank inicial para um bucket específico
$initial = LexoRank::initial(LexoRankBucket::BUCKET_0());
```

### Parsing de strings

[](#parsing-de-strings)

```
$rank = LexoRank::parse('0|hzzzzz:');
```

### Gerando ranks entre dois existentes

[](#gerando-ranks-entre-dois-existentes)

```
$rank1 = LexoRank::parse('0|100000:');
$rank2 = LexoRank::parse('0|200000:');

$between = $rank1->betweenRank($rank2);
```

### Gerando próximo/anterior

[](#gerando-próximoanterior)

```
$rank = LexoRank::middle();

$next = $rank->genNext();
$prev = $rank->genPrev();
```

### Mudando de bucket

[](#mudando-de-bucket)

```
$rank = LexoRank::middle();

$nextBucket = $rank->inNextBucket();
$prevBucket = $rank->inPrevBucket();
```

### Comparando ranks

[](#comparando-ranks)

```
$rank1 = LexoRank::min();
$rank2 = LexoRank::max();

// Comparação
$result = $rank1->compareTo($rank2); // -1, 0, ou 1

// Igualdade
$isEqual = $rank1->equals($rank2); // true ou false
```

### Obtendo o valor formatado

[](#obtendo-o-valor-formatado)

```
$rank = LexoRank::middle();
$formatted = $rank->format(); // "0|hzzzzz:"
echo $rank; // Também funciona via __toString()
```

Estrutura de arquivos
---------------------

[](#estrutura-de-arquivos)

```
php/
├── composer.json
├── README.md
├── src/
│   ├── autoload.php
│   ├── LexoRank/
│   │   ├── LexoDecimal.php
│   │   ├── LexoHelper.php
│   │   ├── LexoInteger.php
│   │   ├── LexoRank.php
│   │   └── LexoRankBucket.php
│   ├── NumeralSystems/
│   │   ├── ILexoNumeralSystem.php
│   │   ├── LexoNumeralSystem10.php
│   │   ├── LexoNumeralSystem36.php
│   │   └── LexoNumeralSystem64.php
│   └── Utils/
│       └── StringBuilder.php
└── tests/
    └── LexoRankTest.php

```

Executando os testes
--------------------

[](#executando-os-testes)

```
composer install
composer test
```

Para gerar relatório de cobertura:

```
composer test-coverage
```

Requisitos
----------

[](#requisitos)

- PHP 8.0 ou superior

Contribuindo
------------

[](#contribuindo)

Contribuições são bem-vindas! Por favor, leia o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para mais detalhes.

Licença
-------

[](#licença)

MIT - veja o arquivo [LICENSE](LICENSE) para mais detalhes.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance79

Regular maintenance activity

Popularity15

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

112d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f7804accedd190804443c7150e8f0185530d3db578825b437e4e59010aae1d6c?d=identicon)[lucasbrito-wdt](/maintainers/lucasbrito-wdt)

---

Top Contributors

[![lucasbrito-wdt](https://avatars.githubusercontent.com/u/30214900?v=4)](https://github.com/lucasbrito-wdt "lucasbrito-wdt (2 commits)")

---

Tags

trellojirasortingdrag-and-droprankingorderinglexorank

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lucasbrito-wdt-lexorank-php/health.svg)

```
[![Health](https://phpackages.com/badges/lucasbrito-wdt-lexorank-php/health.svg)](https://phpackages.com/packages/lucasbrito-wdt-lexorank-php)
```

###  Alternatives

[rubix/ml

A high-level machine learning and deep learning library for the PHP language.

2.2k1.4M28](/packages/rubix-ml)[kyslik/column-sortable

Package for handling column sorting in Laravel 6.x

6485.6M21](/packages/kyslik-column-sortable)[mottie/tablesorter

tablesorter (FORK) is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.

2.6k223.5k](/packages/mottie-tablesorter)[icecave/parity

A customizable deep comparison library.

516.8M10](/packages/icecave-parity)[tuck/sort

Syntactic sugar for PHP's sorting

11547.3k](/packages/tuck-sort)[kotchuprik/yii2-sortable-widgets

Implementation Rubaxa/Sortable for Yii2. Sortable grid view inside.

61132.2k6](/packages/kotchuprik-yii2-sortable-widgets)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
