PHPackages                             lcsng/amanda - 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. [Framework](/categories/framework)
4. /
5. lcsng/amanda

ActiveLibrary[Framework](/categories/framework)

lcsng/amanda
============

Amanda is a lightweight and flexible PHP routing library that dynamically maps website URLs to template files without requiring manual route definitions or directory structures. Simply place your .php or .html templates inside the amanda\_templates/ directory, and Amanda will automatically serve them based on the requested URL. Easily customize template paths, override defaults, and streamline page routing for faster, more efficient web development.

v1.0.5(1y ago)07GPL-3.0-or-laterPHPPHP ^8.3CI passing

Since Mar 2Pushed 1y agoCompare

[ Source](https://github.com/lcsnigeria/lcs_amanda)[ Packagist](https://packagist.org/packages/lcsng/amanda)[ RSS](/packages/lcsng-amanda/feed)WikiDiscussions main Synced 1mo ago

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

**Amanda - A Lightweight PHP Routing Library**
==============================================

[](#amanda---a-lightweight-php-routing-library)

🚀 **Amanda** is a powerful and flexible PHP routing library that dynamically maps URLs to template files **without requiring manual route definitions**. It provides a simple yet robust way to handle requests, making web development faster and more efficient.

---

**📌 Key Features**
------------------

[](#-key-features)

✅ **Auto-routing** – No need to manually define routes; Amanda maps URLs to templates automatically.
✅ **Customizable &amp; Lightweight** – Easily modify template paths and routing logic.
✅ **Dedicated Public Directory** – Follows best practices by keeping core files separate from publicly accessible assets.
✅ **Seamless Integration** – Works with both existing PHP projects and new installations.

---

**📥 Installation**
------------------

[](#-installation)

### **1️⃣ Install Amanda as a Full Project**

[](#1️⃣-install-amanda-as-a-full-project)

Amanda should be installed in a **server directory** that is **not publicly accessible**. You can install it using:

```
composer create-project lcsng/amanda my-site
```

This will create a `my-site/` directory containing all necessary files and folders.

---

**📂 Folder Structure**
----------------------

[](#-folder-structure)

Amanda follows this directory setup:

```
my-site/                 # Server directory (not public)
├── amanda/              # Core framework files (configs, functions, templates, etc.)
│   ├── amanda_templates/   # User templates (PHP/HTML)
│   ├── amanda_routers/     # Routing logic
│   └── ... (other core files)
│
├── public_html/         # The document root (publicly accessible files)
│   ├── index.php          # Handles all requests
│   ├── amanda_ajax.php    # For AJAX requests
│   ├── amanda_assets/     # Public assets (CSS, JS, images, etc.)
│   └── ... (other public files)
│
└── composer.json        # Project dependencies

```

**Folder Placement Notes:**
🔹 `my-site/` is **not** the document root—it is the server directory.
🔹 `public_html/` is the **document root**, where web requests are directed.
🔹 Users **can place Amanda anywhere** that fits their project structure.

---

**🚀 Getting Started**
---------------------

[](#-getting-started)

### **1️⃣ Place Your Templates**

[](#1️⃣-place-your-templates)

Simply put your `.php` or `.html` files inside the `amanda/amanda_templates/` directory. Amanda will automatically route them based on the requested URL.

For example:

```
amanda_templates/
├── home.php       → Access via `/home`
├── about.html     → Access via `/about`
├── contact.php    → Access via `/contact`
└── 404.html       → Default 404 error page

```

### **2️⃣ Configure Routing (Optional)**

[](#2️⃣-configure-routing-optional)

Modify the `amanda_routers/artd.php` file to override defaults:

```
$amanda_router->template_dir = AMANDA_TEMPLATE_DIR;
$amanda_router->error_404 = AMANDA_TEMPLATE_DIR . '/404.html';

// Custom template overrides
$amanda_router->home = AMANDA_TEMPLATE_DIR . '/home2.php';
$amanda_router->add_template = [
    'cart' => AMANDA_TEMPLATE_DIR . '/cart.php'
];
```

---

**📚 Documentation**
-------------------

[](#-documentation)

For full documentation, visit [lcs.ng/amanda](https://lcs.ng/amanda).

---

**🤝 Contributing**
------------------

[](#-contributing)

1. Fork the repository.
2. Make your changes.
3. Submit a pull request.

---

**📜 License**
-------------

[](#-license)

Amanda is licensed under **GPL-3.0-or-later**, meaning it is **free to use, modify, and distribute** while ensuring derivatives remain open-source.

---

**📧 Contact &amp; Support**
---------------------------

[](#-contact--support)

📌 **Author**: [Chinonso Frewen Justice (JCFuniverse)](https://lcs.ng/jcfuniverse)
📧 **Email**:
🌐 **Website**: [lcs.ng/amanda](https://lcs.ng/amanda)

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance44

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

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.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

441d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c32eadd0999a24d3ac068ae0f6854e61fb9a99f20b29b935df86ccedd1c8bbd6?d=identicon)[lcsnigeria](/maintainers/lcsnigeria)

![](https://www.gravatar.com/avatar/d3cc6221ed6ce3670866f33a817291160a549cfe6cb96d24a983985358d2844c?d=identicon)[JCFuniverse](/maintainers/JCFuniverse)

![](https://avatars.githubusercontent.com/u/201739802?v=4)[mayaoflagos](/maintainers/mayaoflagos)[@MayaOfLagos](https://github.com/MayaOfLagos)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/lcsng-amanda/health.svg)

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

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

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