PHPackages                             skar/mezzio-skeleton - 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. skar/mezzio-skeleton

ActiveProject[Framework](/categories/framework)

skar/mezzio-skeleton
====================

Laminas mezzio skeleton. Begin developing PSR-15 middleware applications in seconds!

116PHP

Since Oct 25Pushed 6mo ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Mezzio Skeleton and Installer
=============================

[](#mezzio-skeleton-and-installer)

*Begin developing PSR-15 middleware applications in seconds!*

[mezzio](https://github.com/mezzio/mezzio) builds on [laminas-stratigility](https://github.com/laminas/laminas-stratigility) to provide a minimalist PSR-15 middleware framework for PHP with routing, DI container, optional templating, and optional error handling capabilities.

This installer will setup a skeleton application based on mezzio by choosing optional packages based on user input.

The user selected packages are saved into `composer.json` so that everyone else working on the project have the same packages installed. Configuration files and templates are prepared for first use. The installer command is removed from `composer.json` after setup succeeded, and all installer related files are removed.

Getting Started
---------------

[](#getting-started)

Start your new Mezzio project with composer:

```
$ composer create-project skar/mezzio-skeleton
```

After choosing and installing the packages you want, go to the `` and start PHP's built-in web server to verify installation:

```
$ composer serve
```

You can then browse to .

Installing alternative packages
-------------------------------

[](#installing-alternative-packages)

There is a feature to install alternative packages: Instead of entering one of the selection **you can actually type the package name and version**.

> ```
>   Which template engine do you want to use?
>   [1] Plates
>   [2] zend-view installs zend-servicemanager
>   [n] None of the above
>   Make your selection or type a composer package name and version (n): infw/pug:0.1
>   - Searching for infw/pug:0.1
>   - Adding package infw/pug (0.1)
>
> ```

That feature allows you to install any alternative package you want. It has its limitations though:

- The alternative package must follow this format `namespace/package:1.0`. It needs the correct version.
- Templates are not copied, but the ConfigProvider can be configured in such way that it uses the default templates directly from the package itself.
- This doesn't work for containers as the container.php file needs to be copied.

Troubleshooting
---------------

[](#troubleshooting)

If the installer fails during the `composer create-project` phase, please go through the following list before opening a new issue. Most issues we have seen so far can be solved by `self-update` and `clear-cache`.

1. Be sure to work with the latest version of composer by running `composer self-update`.
2. Try clearing Composer's cache by running `composer clear-cache`.

If neither of the above help, you might face more serious issues:

- Info about the [zlib\_decode error](https://github.com/composer/composer/issues/4121).
- Info and solutions for [composer degraded mode](https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode).

Application Development Mode Tool
---------------------------------

[](#application-development-mode-tool)

This skeleton comes with [laminas-development-mode](https://github.com/laminas/laminas-development-mode). It provides a composer script to allow you to enable and disable development mode.

### To enable development mode

[](#to-enable-development-mode)

**Note:** Do NOT run development mode on your production server!

```
$ composer development-enable
```

**Note:** Enabling development mode will also clear your configuration cache, to allow safely updating dependencies and ensuring any new configuration is picked up by your application.

### To disable development mode

[](#to-disable-development-mode)

```
$ composer development-disable
```

### Development mode status

[](#development-mode-status)

```
$ composer development-status
```

Configuration caching
---------------------

[](#configuration-caching)

By default, the skeleton will create a configuration cache in `data/config-cache.php`. When in development mode, the configuration cache is disabled, and switching in and out of development mode will remove the configuration cache.

You may need to clear the configuration cache in production when deploying if you deploy to the same directory. You may do so using the following:

```
$ composer clear-config-cache
```

You may also change the location of the configuration cache itself by editing the `config/config.php` file and changing the `config_cache_path` entry of the local `$cacheConfig` variable.

Skeleton Development
--------------------

[](#skeleton-development)

This section applies only if you cloned this repo with `git clone`, not when you installed mezzio with `composer create-project ...`.

If you want to run tests against the installer, you need to clone this repo and setup all dependencies with composer.
Make sure you **prevent composer running scripts** with `--no-scripts`, otherwise it will remove the installer and all tests.

```
$ composer update --no-scripts
$ composer test
```

Please note that the installer tests remove installed config files and templates before and after running the tests.

Before contributing read [the contributing guide](https://github.com/mezzio/.github/blob/master/CONTRIBUTING.md).

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance48

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 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.

### Community

Maintainers

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

---

Top Contributors

[![skar](https://avatars.githubusercontent.com/u/433248?v=4)](https://github.com/skar "skar (3 commits)")

### Embed Badge

![Health badge](/badges/skar-mezzio-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/skar-mezzio-skeleton/health.svg)](https://phpackages.com/packages/skar-mezzio-skeleton)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M529](/packages/laravel-passport)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[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.7M255](/packages/laravel-dusk)[laravel/prompts

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

708181.8M591](/packages/laravel-prompts)

PHPackages © 2026

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