PHPackages                             weavephp/weave - 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. weavephp/weave

ActiveFramework[Framework](/categories/framework)

weavephp/weave
==============

Weave glue-framework Core

2.1.0(2y ago)420.3k↓48.1%11MITPHPPHP ^8.0 | ^8.1 | ^8.2

Since Nov 4Pushed 2y ago3 watchersCompare

[ Source](https://github.com/weavephp/weave)[ Packagist](https://packagist.org/packages/weavephp/weave)[ RSS](/packages/weavephp-weave/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (15)Used By (11)

Welcome to Weave
================

[](#welcome-to-weave)

Imagine being 7 years old again, with some friends, playing after school. You've got a huge box full of dressing up stuff and limitless imagination. You want to play super-heros? There's stuff for that. How about film stars? Or the Wild West? Or fantasy worlds with Orcs and Elves? It's all in the dressing up box. All the tops, trousers, dresses, shoes, hats, foam swords, plastic laser guns and sparkly amulets you'd ever want to bring your creations to life.

In the world of PHP, Packagist is packed to the hilt with the code equiv. of foam swords and hats - there are limitless combinations. But if you are trying to assemble a well known group of packages, such as for a micro-framework middleware stack, there's still a lot of work and boilerplate to stick all the bits together. So, to save others the effort, there are some party-costume packs of ready-grouped clothes and accessories you can just pick off the rack. Everything you need to achieve that space-pirate look.

But what if you want to be a space-pirate with a foam sword and a big hat NOT the space-pirate someone else decided you would want, with the plastic laser gun and the clear plastic space helmet? Unfortunately, in code, it's often not as easy as swapping swords with your best friend.

When it comes to PHP frameworks, it would be great to have the freedom to pick the bits you want from the dressing up box but without the effort of then having to tie it all together by hand.

Welcome to Weave.

Anatomy of a Micro-Framework
----------------------------

[](#anatomy-of-a-micro-framework)

Whichever micro-framework you look at, they all have the same basic components (give or take):

- Configuration
- Error Handler
- Dependency Injection Controller
- Middleware Stack
- Router
- Resolve/Dispatch

In each case, you are expected to write your secret awesome extras as Middleware components, Controllers etc. and hang them from the framework in the spaces provided and in the order you want. In each case, you have little or no say as to which of the above components you get to use. Some micro-frameworks do attempt some choice, such as Zend Expressive, but it is limited.

But look on Packagist and you will find loads of different DICs, Middleware Stacks, Routers etc. and there's some great inovation out there.

This is where Weave is different. Weave doesn't come bundled with most of the components listed. Instead, you get to pick Adaptors - or write your own. Whatever suits you best.

Pick Your Own
-------------

[](#pick-your-own)

Weave has Adaptors for the different Components it needs. You provide one of each Adaptor (or your own code) to create the microframework you want.

ComponentAdaptorsCustom optionsConfigurationZend ConfigProvide a single method in your App class that returns an array.Error HandlingWhoopsProvide a single method in your App class.DICLeague, Aura.DiProvide a single method in your App Class that returns a callable.Middleware StackRelay, Middleman 2.xImplementation of the MiddlewareAdaptorInterface.RouterFastRoute, Aura.RouterImplementation of the RouterAdaptorInterface.ResolverInternalImplementation of the ResolveAdaptorInterface.PSR7Zend DiactorosImplementation of the PSR7 standard.Where Interfaces are in use, you simply map them to concrete classes in your DIC.

Take a look at some of the examples at  to see how this works in practice.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 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 ~160 days

Recently: every ~483 days

Total

14

Last Release

1039d ago

Major Versions

0.1.3 → 1.0.x-dev2022-07-03

1.0.x-dev → 2.0.02022-07-05

PHP version history (5 changes)0.0.1PHP &gt;=5.6.0

0.0.2PHP &gt;=5.6

1.0.x-devPHP ^5.6 | ^7.0

2.0.0PHP ^8.0 | ^8.1

2.1.0PHP ^8.0 | ^8.1 | ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/344317?v=4)[Robert Goldsmith](/maintainers/far-blue)[@far-blue](https://github.com/far-blue)

---

Top Contributors

[![far-blue](https://avatars.githubusercontent.com/u/344317?v=4)](https://github.com/far-blue "far-blue (55 commits)")

---

Tags

frameworkmicroweave

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/weavephp-weave/health.svg)

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

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[slim/slim

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs

12.2k49.9M1.3k](/packages/slim-slim)[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[yiisoft/yii-middleware

Yii Middleware

21151.3k1](/packages/yiisoft-yii-middleware)[igniphp/framework

Swoole, PSR-7, PSR-15 modular micro anti-framework.

2651.0k1](/packages/igniphp-framework)

PHPackages © 2026

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