PHPackages                             ceive/data-autocomplete - 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. ceive/data-autocomplete

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

ceive/data-autocomplete
=======================

Data Autocomplete

08PHP

Since Mar 17Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Ceive/data-autocomplete)[ Packagist](https://packagist.org/packages/ceive/data-autocomplete)[ RSS](/packages/ceive-data-autocomplete/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Ceive.Data.Autocomplete
=======================

[](#ceivedataautocomplete)

Component a helper autocomplete oriented system create

Суть заключается в различных Автокомплитах, которые представляют простой объект аттрибутов значениями которых являются типы этих атрибутов.

**Автокомплиты бывают следующие:**

- Простой автокомплит - автокомплит не имеющий привязки к классу или субъекту, он отражает простой контекст атрибутов, и на него нельзя ссылаться по названию класса или субъекта
- Автокомплит класса - Это список атрибутов который можно заполучить по ссылке, которая может указываться в любых автокомплитах в качестве типа(значения атрибута)

**Автокомплит** - это прежде всего маска для **СТРУКТУРЫ ДАННЫХ** которую автокомплит собственно и пытается представить.

**Автокомплит** - изначально описывает маску **СТРУКТУРЫ ДАННЫХ** не считая, что эта самая структура может в определенных условиях составлять другую более большую структуру, поэтому есть такое понятие как **Вложенный автокомплит**..

**Вложенный автокомплит** - Декорирует простой автокомплит, полностью повторяя его интерфейс, только задачей такого декоратора является перехват запроса на автокомплит по пути по которому производится запрос, и если вложенность запроса и настройка вложенности нашего вкладываемого автокомплита совпадает то происходит слитие атрибутов декорируемого автокомплита со своими. Таким образом можно переопределить понимание одного и того же автокомплита примененных в разных вложенных иерархиях и атрибутных контекстах

Спецификация типа в автокомплите:

- Любые скаляры `[integer, string, float, null, boolean]`
- Объект,указывается не напрямую, а преимущественно через ссылку

Так-же автокомплит кроме технической пользы может указывать локализованные Названия и описания для того чтобы обеспечить максимально удобную поддержку для пользователя UI

Так-же, у пакета **Автокомплит** есть похожий пакет **Data Structure Interface**, у которого в отличие от автокомплита, имеются Контроль типа(Валидация структуры) и возможность определения достаточно сложных Подсказок по типам, наподобие типам в TypeScript

```
namespace Ceive\Data\Autocomplete;

$manager = new Manager();

$manager->register(new AutocompleteClass('User',[
    'username'      => 'string',
    'password'      => 'string',
    'login_counts'  => 'int',
    'profile'       => ''
]));

$manager->register(new AutocompleteClass('User\Profile',[
    'first_name'        => 'string',
    'last_name'         => 'string',
    'second_name'       => 'string',
    'user'              => ''
]));

$manager->register($autocomplete = new Autocomplete([
    'user' => '',
    'value' => 'mixed',
]));

$user = $manager->getByClassname('User');

$entries = $autocomplete->entries();

$this->assertEquals([
    'user' => '',
    'value' => 'mixed',
],$autocomplete->entries());

$this->assertEquals([
    'user' => '',
],$autocomplete->entriesLink());

// Language Labeled
//$autocomplete->getTitle($entry);
//$autocomplete->getDescription($entry);
//$autocomplete->getType($entry);

// AbsolutePath
//$autocomplete->getAbsolutePath($entry_key);

$label = [
    'lang'          => null,
    'key'           => 'user',
    'description'   => null,

    'cases' => [[
        'lang'          => 'ru_RU',
        'title'         => 'пользователь',
        'description'   => 'описание'
    ]]
];

$label = [
    'lang'          => null,
    'key'           => 'current_user',
    'description'   => null,

    'cases' => [[
        'lang'          => 'ru_RU',
        'title'         => 'текущий пользователь',
        'description'   => 'пользователь, который в момент выполнения проводит авторизованное действие'
    ]]
];

```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/31261848?v=4)[Ceive Foundation](/maintainers/Ceive)[@Ceive](https://github.com/Ceive)

---

Top Contributors

[![lexus27](https://avatars.githubusercontent.com/u/9652768?v=4)](https://github.com/lexus27 "lexus27 (4 commits)")

### Embed Badge

![Health badge](/badges/ceive-data-autocomplete/health.svg)

```
[![Health](https://phpackages.com/badges/ceive-data-autocomplete/health.svg)](https://phpackages.com/packages/ceive-data-autocomplete)
```

###  Alternatives

[kornrunner/ethereum-address

Pure PHP Ethereum Address Generator / Validator

42120.7k9](/packages/kornrunner-ethereum-address)[jawira/plantuml

Provides PlantUML executable and plantuml.jar

21395.9k10](/packages/jawira-plantuml)[attestto/solana-php-sdk

Solana PHP SDK for interacting with the Solana blockchain

5638.7k](/packages/attestto-solana-php-sdk)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

19267.9k3](/packages/interaction-design-foundation-laravel-geoip)

PHPackages © 2026

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