PHPackages                             nurmanhabib/navigator - 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. nurmanhabib/navigator

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

nurmanhabib/navigator
=====================

Generate navigator or menu with NavCollection

v5.2.0(5y ago)22.1k11MITPHPPHP &gt;=5.5.9

Since Sep 4Pushed 5y ago1 watchersCompare

[ Source](https://github.com/nurmanhabib/navigator)[ Packagist](https://packagist.org/packages/nurmanhabib/navigator)[ RSS](/packages/nurmanhabib-navigator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)DependenciesVersions (33)Used By (1)

Welcome to Navigator!
=====================

[](#welcome-to-navigator)

Sekarang bisa digunakan untuk semua framework PHP bahkan untuk PHP Native. Untuk penggunaan Laravel berubah menjadi `nurmanhabib/laravel-menu`.

---

Instalasi
---------

[](#instalasi)

#### Install dengan Composer

[](#install-dengan-composer)

Cukup sederhana, jalankan perintah berikut untuk mendapatkan versi terbaru.

```
composer require nurmanhabib/navigator

```

#### Penggunaan

[](#penggunaan)

Cukup membuat *object* `Nurmanhabib\Navigator\NavCollection` dengan menambahkan beberapa `Nurmanhabib\Navigator\NavItem`

```
use Nurmanhabib\Navigator\NavCollection;
use Nurmanhabib\Navigator\Navigator;

$menu = new NavCollection;
$menu->addHome();
$menu->addLink('Berita', '/berita')->match('berita*');
$menu->addSeparator();
$menu->addParent('Kategori', function (NavCollection $menu) {
    $menu->addLink('Teknologi', '/kategori/teknologi');
    $menu->addLink('Otomotif', '/kategori/otomotif');
    $menu->addParent('Lifestyle', function (NavCollection $menu) {
        $menu->addLink('Pria', '/lifestyle-pria');
        $menu->addLink('Wanita', '/lifestyle-wanita');
    });
});

$menu->addHeading('Configuration');
$menu->addLink('Application', '/config/app');

$menu->addHeading('Account');
$menu->addLink('My Profile', '/profile');
$menu->addLink('Logout', '/logout');

$navigator = new Navigator($menu);

echo $navigator->render();
```

Anda juga bisa membuat menggunakan data Array

```
$data = [
    [
        'text' => 'Home',
        'url' => '/'
    ],
    [
        'text' => 'Berita',
        'url' => 'berita',
        'match' => '/berita*'
    ],
    [
        'type' => 'separator'
    ],
    [
        'text' => 'Kategori',
        'child' => [
            [
                'text' => 'Teknologi',
                'url' => 'kategori/teknologi'
            ],
            [
                'text' => 'Otomotif',
                'url' => 'kategori/otomotif'
            ],
            [
                'text' => 'Lifestyle',
                'child' => [
                    [
                        'text' => 'Pria',
                        'url' => 'lifestyle-pria'
                    ],
                    [
                        'text' => 'Wanita',
                        'url' => 'lifestyle-wanita'
                    ],
                ]
            ],
        ]
    ],
    [
        'type' => 'heading',
        'text' => 'Configuration'
    ],
    [
        'text' => 'Account',
        'child' => [
            [
                'text' => 'Change Password',
                'url' => 'change-password'
            ],
            [
                'text' => 'Logout',
                'url' => 'logout'
            ],
        ]
    ],
];

$factory = new ArrayNavCollectionFactory($data);

$menu = $factory->createNavCollection();

$navigator = new Navigator($menu);

echo $navigator->render();
```

#### API

[](#api)

1. match

    ```
    $menu->addLink('Teknologi', 'kategori/teknologi')->match('kategori/*');
    ```

    Item akan aktif untuk path uri berikut:

    - `kategori/teknologi`
    - `kategori/otomotif`
2. setData

    ```
    $menu->addLink('Teknologi', 'kategori/teknologi')->setData(['key' => 'value']);
    ```

    Anda bisa menambahkan data pada item menu untuk digunakan pada saat custom render.
3. hasData

    ```
    $item->hasData('key');
    ```
4. getData

    ```
    echo $item->getData('key');
    ```
5. getType

    ```
    echo $item->getType();
    ```

    Type yang didukung saat ini :

    - link
    - home
    - heading
    - separator

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity69

Established project with proven stability

 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

Every ~97 days

Recently: every ~75 days

Total

26

Last Release

1843d ago

Major Versions

1.0.0 → 2.0.02014-10-24

2.0.7 → 3.0.0-beta2015-04-19

3.0.3 → 4.0.02017-09-21

4.1.1 → v5.0.02020-05-31

PHP version history (3 changes)1.0.0PHP &gt;=5.3.0

2.0.0PHP &gt;=5.4.0

3.1.0PHP &gt;=5.5.9

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ff877655f6d01a863742b7f9e23ed29d6f1548df3e017eec5f6b0a2a5dfdb1c?d=identicon)[nurmanhabib](/maintainers/nurmanhabib)

---

Top Contributors

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

---

Tags

menunavbarnavigationsidebarnavigator

### Embed Badge

![Health badge](/badges/nurmanhabib-navigator/health.svg)

```
[![Health](https://phpackages.com/badges/nurmanhabib-navigator/health.svg)](https://phpackages.com/packages/nurmanhabib-navigator)
```

###  Alternatives

[spatie/menu

Html menu generator

7592.9M6](/packages/spatie-menu)[akaunting/laravel-menu

Menu and sidebar management package for Laravel

38233.8k](/packages/akaunting-laravel-menu)[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[kartik-v/yii2-widget-sidenav

An enhanced side navigation menu styled for bootstrap (sub repo split from yii2-widgets)

364.0M8](/packages/kartik-v-yii2-widget-sidenav)[caffeinated/menus

Laravel Menus

134159.5k5](/packages/caffeinated-menus)[belugadigital/kirby-navigation

Kirby 5 field for hierarchical menus with drag &amp; drop level indentation.

8713.4k](/packages/belugadigital-kirby-navigation)

PHPackages © 2026

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