PHPackages                             nimbly/limber - 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. nimbly/limber

ActiveLibrary[Framework](/categories/framework)

nimbly/limber
=============

A super minimal HTTP framework that doesn't get in your way.

3.0.1(1y ago)208.9kMITPHPPHP ^8.2CI failing

Since Mar 5Pushed 8mo ago5 watchersCompare

[ Source](https://github.com/nimbly/Limber)[ Packagist](https://packagist.org/packages/nimbly/limber)[ RSS](/packages/nimbly-limber/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (10)Versions (40)Used By (0)

Limber
======

[](#limber)

[![Latest Stable Version](https://camo.githubusercontent.com/2d8ef189662f5d758f6aad4eb1317f3681256017561e2ab34bc0157bcab9bb5f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e696d626c792f6c696d6265722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nimbly/Limber)[![GitHub Workflow Status](https://camo.githubusercontent.com/d1a02ba7d8aa975e3154bfd64afba085c2ae34958e0d4889276036d58111b2df/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6e696d626c792f6c696d6265722f636f7665726167652e796d6c3f7374796c653d666c61742d737175617265)](https://github.com/nimbly/Limber/actions/workflows/coverage.yml)[![Codecov branch](https://camo.githubusercontent.com/6c2472c2f8ba4277d25581b76c361e412239858047d1cff0d6035f44b0953dbe/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6e696d626c792f6c696d6265722f6d61737465723f7374796c653d666c61742d737175617265)](https://app.codecov.io/github/nimbly/Limber)[![License](https://camo.githubusercontent.com/5c6995f5e60a2e0d33bd5ac55787f5fec23d10640f3ca480d385f9f100764c08/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e696d626c792f4c696d6265722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nimbly/Limber)

A super minimal PSR-7, 15, and 11 compliant HTTP framework that doesn't get in your way.

Limber is intended for advanced users who are comfortable setting up their own framework and pulling in packages best suited for their particular use case.

Limber includes
---------------

[](#limber-includes)

- A router
- PSR-7 HTTP message compliant
- PSR-11 container compliant
- PSR-15 middleware compliant
- A thin `Application` layer to tie everything together

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

[](#requirements)

- PHP 8.2+
- PSR-7 HTTP Message library

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

[](#installation)

```
composer require nimbly/limber
```

Quick start
-----------

[](#quick-start)

### Install PSR-7 library

[](#install-psr-7-library)

Limber does not ship with a PSR-7 implementation which is required to receive HTTP requests and send back responses. Let's pull one into our project.

- [slim/psr7](https://github.com/slimphp/Slim-Psr7)
- [laminas/laminas-diactoros](https://github.com/laminas/laminas-diactoros)
- [guzzlehttp/psr7](https://github.com/guzzle/psr7)
- [nimbly/Capsule](https://github.com/nimbly/Capsule)

```
composer require nimbly/capsule
```

### Sample application

[](#sample-application)

1. Create your entrypoint (or front controller), for example `index.php`, and start by creating a new `Router` instance and attaching your routes to it.
2. Once your routes have been defined, you can create the `Application` instance and pass the router in to it.
3. You can then `dispatch` requests through the application and receive a response back.
4. And finally, you can `send` a response back to the calling client.

```
