PHPackages                             mrldavies/wp-rest-fluent - 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. [API Development](/categories/api)
4. /
5. mrldavies/wp-rest-fluent

ActiveLibrary[API Development](/categories/api)

mrldavies/wp-rest-fluent
========================

A fluent routing layer for the WordPress REST API with middleware, groups and response formatting.

1.0.0(2mo ago)0144MITPHPPHP &gt;=8.1

Since Feb 28Pushed 2mo agoCompare

[ Source](https://github.com/Mrldavies/wp-rest-fluent)[ Packagist](https://packagist.org/packages/mrldavies/wp-rest-fluent)[ RSS](/packages/mrldavies-wp-rest-fluent/feed)WikiDiscussions main Synced 1mo ago

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

wp-rest-fluent
==============

[](#wp-rest-fluent)

A fluent routing layer for the WordPress REST API with middleware, groups and response formatting.

Inspired by Laravel-style routing and middleware patterns, adapted for WordPress.

---

Requirements
------------

[](#requirements)

- PHP &gt;= 8.1
- WordPress (must run inside a WP environment)

If using Roots Sage, v10 or above is required.

---

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

[](#installation)

Install via Composer:

```
composer require mrldavies/wp-rest-fluent
```

---

Basic Usage
-----------

[](#basic-usage)

Import the class:

```
use Mrldavies\WpRestFluent\Rest;
```

Define your routes:

```
Rest::get('/hello/{name:alpha}')
    ->handler(function ($request) {
        return [
            'data' => ['message' => "Hello {$request['name']}"],
            'status' => 200,
        ];
    })
    ->formatter();
```

Register routes during boot:

```
add_action('plugins_loaded', function () {
    Rest::registerRoutes();
});
```

---

Using with Roots Sage (v10+)
----------------------------

[](#using-with-roots-sage-v10)

If using Roots Sage v10 or above (Acorn-based), register routes inside a service provider.

Example:

```
