PHPackages                             wwaz/favigation-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. wwaz/favigation-php

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

wwaz/favigation-php
===================

Renders recursive navigation data

1.1.0(10mo ago)037proprietaryPHP

Since Feb 12Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/WWAZ/favigation-php)[ Packagist](https://packagist.org/packages/wwaz/favigation-php)[ RSS](/packages/wwaz-favigation-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Favigation PHP
==============

[](#favigation-php)

Creating HTML markup for navigation elements is straightforward. Favigation streamlines the process, handling the complexities and providing an easy-to-use API to render your navigation-data into HTML.

Through the use of drivers, you can transform virtually any data structure into navigation markup. Favigation provides predefined drivers for platforms like Wordpress and frameworks such as Bootstrap.

Basic usage
-----------

[](#basic-usage)

Favigation is easy to use. Here's a simple example. Let's render navigation markup using (streamlined) WordPress menu data.

```
$menudata = [
	[
    	'ID'  =>  1,
    	'post_parent'  =>  0,
    	'menu_order'  =>  2,
    	'url'  =>  'about',
    	'title'  =>  'About us',
	],
	[
    	'ID'  =>  2,
    	'post_parent'  =>  1,
    	'menu_order'  =>  3,
    	'url'  =>  'Team',
    	'title'  =>  'team',
	],
	[
    	'ID'  =>  3,
    	'post_parent'  =>  0,
    	'menu_order'  =>  1,
    	'url'  =>  'homepage',
    	'title'  =>  'Home',
	],
];

```

Pass the menu-data to a Favigation builder.

```
// Let's build a Favigation object from raw Wordpress menu-data
$favigation = new wwaz\Favigation\Driver\Wordpress\Builder($menudata);

// Render html
echo $favigation->toHtml();

```

The builder renders the data in the following manner.

```

    Homepage
    About us

		    Team

```

Installation
------------

[](#installation)

Install Favigation via composer

```
composer require wwaz/favigation-php

```

Custom usage
------------

[](#custom-usage)

What sets Favigation apart is the separation of data from the view, coupled with a highly customizable rendering process. The builder takes a 1) data collection and a 2) renderer.

```
$favigation = (new wwaz\Favigation\Builder(
    new \wwaz\Favigation\Collection($data),
    \wwaz\Favigation\Driver\Bootstrap\BootstrapMenuRenderer::class
))
    ->tag('ul')
    ->id('favigation')
    ->selected('getId', 3)
    ->getBuild();

```

Let's go further:

```
$favigation

  ->setContent(function($item){
	  $icon = '';
	  if( $item->getIcon() ){
			$icon = '';
		}
		if( $item->getUrl() ){
			return $icon . 'getUrl() . '">' . $item->getTitle() . '';
		}
		return $icon . '' . $item->getTitle() . '';
	})

	->setLiAttribute('data-id', function($item){
		return $item->getId();
	})

	->toHtml();

```

Writing Drivers
---------------

[](#writing-drivers)

...

License
-------

[](#license)

No license – All rights reserved, not open source or free. You cannot modify or redistribute this code without explicit permission from the copyright holder.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance54

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

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

Every ~144 days

Total

2

Last Release

315d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/28883a61ed367b92612f375929d38530d43c96c473eba40824341f2c0909c7db?d=identicon)[WWAZ](/maintainers/WWAZ)

---

Top Contributors

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

---

Tags

phpnavigation

### Embed Badge

![Health badge](/badges/wwaz-favigation-php/health.svg)

```
[![Health](https://phpackages.com/badges/wwaz-favigation-php/health.svg)](https://phpackages.com/packages/wwaz-favigation-php)
```

###  Alternatives

[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[imanghafoori/laravel-nullable

A package to help you write expressive defensive code in a functional manner

151423.7k6](/packages/imanghafoori-laravel-nullable)[imanghafoori/laravel-anypass

A minimal yet powerful package to help you in development.

21421.6k](/packages/imanghafoori-laravel-anypass)[verschuur/laravel-robotstxt

Set the robots.txt content dynamically based on the Laravel app environment.

43402.6k1](/packages/verschuur-laravel-robotstxt)[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)[marcogermani87/filament-cookie-consent

Easy cookie consent integrations for Filament

1917.0k](/packages/marcogermani87-filament-cookie-consent)

PHPackages © 2026

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