PHPackages                             joseluisq/ruta - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. joseluisq/ruta

ActiveLibrary[HTTP &amp; Networking](/categories/http)

joseluisq/ruta
==============

A lightweight HTTP routing library for PHP without external dependencies

v1.0.0-beta.6(3y ago)557Apache-2.0PHPPHP &gt;=8.0

Since Jan 25Pushed 2y ago1 watchersCompare

[ Source](https://github.com/joseluisq/ruta)[ Packagist](https://packagist.org/packages/joseluisq/ruta)[ RSS](/packages/joseluisq-ruta/feed)WikiDiscussions master Synced yesterday

READMEChangelog (6)Dependencies (4)Versions (8)Used By (0)

Ruta
====

[](#ruta)

[![tests ci](https://github.com/joseluisq/ruta/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/joseluisq/ruta/actions/workflows/tests.yml) [![Latest Stable Version](https://camo.githubusercontent.com/960caf032bb79787f030052239f2f5651c106c165fe0dc4d8294a85912d40e97/68747470733a2f2f706f7365722e707567782e6f72672f6a6f73656c756973712f727574612f76657273696f6e)](https://packagist.org/packages/joseluisq/ruta) [![Latest Unstable Version](https://camo.githubusercontent.com/e6fbe518146dd1d60956e14448a4c8669e2f6eb1279db9197c52703539fbada6/68747470733a2f2f706f7365722e707567782e6f72672f6a6f73656c756973712f727574612f762f756e737461626c65)](//packagist.org/packages/joseluisq/ruta) [![Total Downloads](https://camo.githubusercontent.com/0c1c54f257c87cd60b4180d081431c49bdc3703248491d8e28c1106bed7a52dd/68747470733a2f2f706f7365722e707567782e6f72672f6a6f73656c756973712f727574612f646f776e6c6f616473)](https://packagist.org/packages/joseluisq/ruta) [![License](https://camo.githubusercontent.com/19c45336316f48fe0182a8f1c4d587d87b8087e2a1925776be8fd6438ffdf537/68747470733a2f2f706f7365722e707567782e6f72672f6a6f73656c756973712f727574612f6c6963656e7365)](https://packagist.org/packages/joseluisq/ruta)

> A lightweight HTTP routing library for PHP. (WIP)

Features
--------

[](#features)

- HTTP status codes
- HTTP Methods
- HTTP Headers
- **HTTP Requests**
    - Handle `multipart/form-data` request data
    - Handle `x-www-form-urlencoded` request data
    - Handle `application/xml` request data
    - Handle `application/json` request data
    - Handle `query` URI request params
    - Access request `path` and `headers`
- **HTTP Responses**
    - HTML, JSON, XML or Text responses
    - HTTP redirections
- **HTTP Routing**
    - Routes with placeholder arguments: `/abc/{some}`
    - Handle multiple valid HTTP methods
    - Handle any valid HTTP method
    - Handle not match routes (404s)
    - Support callback or class/method style
    - Optional and order-insensitive arguments on callback or class/method handlers
    - Regular expressions support: `/abc/regex(id=^[0-9]+$)`
    - Optional route arguments: `/abc/{some?}`
    - Fallback routes
    - Route's cache
- **Middlewares**
    - Inspect or filter valid requests before routing
    - Inspect or filter valid requests after routing

See [Leap](https://github.com/joseluisq/leap) micro-framework based on Ruta.

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

[](#requirements)

[PHP 8.0](https://www.php.net/releases/8.0/en.php) or newer.

Install
-------

[](#install)

Install via [Composer](https://packagist.org/packages/joseluisq/ruta)

```
composer require joseluisq/ruta:dev-master
```

Usage
-----

[](#usage)

```
