PHPackages                             thecodingmachine/splash-service-provider - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. thecodingmachine/splash-service-provider

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

thecodingmachine/splash-service-provider
========================================

Cross-framework module for splash

0231PHP

Since Sep 3Pushed 5y ago6 watchersCompare

[ Source](https://github.com/thecodingmachine/splash-service-provider)[ Packagist](https://packagist.org/packages/thecodingmachine/splash-service-provider)[ RSS](/packages/thecodingmachine-splash-service-provider/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/4a3eb0a793b7f9cb41a4d61b981237eddeeeca53f3e623e2bd3198bb28724910/68747470733a2f2f706f7365722e707567782e6f72672f746865636f64696e676d616368696e652f73706c6173682d736572766963652d70726f76696465722f762f737461626c65)](https://packagist.org/packages/thecodingmachine/splash-service-provider)[![Latest Unstable Version](https://camo.githubusercontent.com/15b84705d22d9fe4b80d5f039b447d4392e542a47b834bfccceb1844d7c5264b/68747470733a2f2f706f7365722e707567782e6f72672f746865636f64696e676d616368696e652f73706c6173682d736572766963652d70726f76696465722f762f756e737461626c65)](https://packagist.org/packages/thecodingmachine/splash-service-provider)[![License](https://camo.githubusercontent.com/36530dfbc38a770a59bc59841713cbbea73b1acd2e9adea5bbb7ea96cb203ce7/68747470733a2f2f706f7365722e707567782e6f72672f746865636f64696e676d616368696e652f73706c6173682d736572766963652d70726f76696465722f6c6963656e7365)](https://packagist.org/packages/thecodingmachine/splash-service-provider)[![Build Status](https://camo.githubusercontent.com/c51d4761c2e25ab3be2a61c91b3dc07c2478e5b2390454883c7ea5f909f008e3/68747470733a2f2f7472617669732d63692e6f72672f746865636f64696e676d616368696e652f73706c6173682d736572766963652d70726f76696465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/thecodingmachine/splash-service-provider)[![Coverage Status](https://camo.githubusercontent.com/30d8399201ec38c9ac006743bf2b1c4ab7d43e3cddfd810c635d5e5b5413a563/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f746865636f64696e676d616368696e652f73706c6173682d736572766963652d70726f76696465722f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/thecodingmachine/splash-service-provider?branch=master)

Splash router universal module
==============================

[](#splash-router-universal-module)

This package integrates thecodingmachine/splash-router in any [container-interop](https://github.com/container-interop/service-provider) compatible framework/container.

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

[](#installation)

```
composer require thecodingmachine/splash-service-provider

```

Once installed, you need to register the [`TheCodingMachine\Splash\DI\SplashServiceProvider`](src/SplashServiceProvider.php) into your container.

If your container supports [thecodingmachine/discovery](https://github.com/thecodingmachine/discovery) integration, you have nothing to do. Otherwise, refer to your framework or container's documentation to learn how to register *service providers*.

Introduction
------------

[](#introduction)

Splash provides a service-provider to be easily integrated in any [container-interop/service-provider](https://github.com/container-interop/service-provider) compatible framework/container.

If you need a complete working sample, check the [Splash standalone installation guide](https://thecodingmachine.github.io/splash-router/doc/install/standalone.html).

This service provider will provide a default Splash router.

It requires an instance of Doctrine's annotation reader to be available.

Note: you can get a service provider providing a Doctrine annotation reader using the following packages:

```
composer require thecodingmachine/doctrine-annotations-universal-module

```

It will use a PSR-6 cache if the cache is available. Note: you can get a service provider providing a working PSR-6 cache using the following packages:

```
composer require thecodingmachine/stash-universal-module

```

This will install Stash and its related service-provider.

Expected values / services
--------------------------

[](#expected-values--services)

This *service provider* expects the following configuration / services to be available:

NameCompulsoryDescription`thecodingmachine.splash.controllers`*yes*An array of controller name (this is the name of the identifier of the controller in the container)`thecodingmachine.splash.mode`*no*The mode of Splash (whether it allows output or not). Can be `SplashUtils::MODE_STRICT` or `SplashUtils::MODE_WEAK``Doctrine\Common\Annotations\Reader`*yes*An instance of Doctrine's annotation reader.`CacheItemPoolInterface::class`*no*The PSR-6 cache pool used to cache the routes`LoggerInterface::class`*no*An optional PSR-3 logger`thecodingmachine.splash.debug`*no*If true, Splash will display an error with the 'echoed' output in strict mode. Defaults to true.`thecodingmachine.splash.root_url` (or `root_url`)*no*The base URL of the application. Defaults to '/'.Provided services
-----------------

[](#provided-services)

This *service provider* provides the following services:

Service nameDescription`TheCodingMachine\Splash\Routers\SplashRouter`The Splash PSR-15 Middleware`thecodingmachine.splash.route-providers`A list of "route providers" for Splash (an array of `UrlProviderInterface`). Each route provider is in charge of feeding routes to Splash. By default, this array contains an instance of the `ControllerRegistry` that scans routes of the controllers.`TheCodingMachine\Splash\Services\ControllerRegistry`Instance of `ControllerRegistry`.`ControllerAnalyzer``ParameterFetcherRegistry`Registry class referencing all parameter fetchers`thecodingmachine.splash.parameter-fetchers`A list of ParameterFetcher instances`SplashRequestFetcher`An instance of `SplashRequestFetcher` (to autofill the attributes type-hinted on the `ServerRequestInterface`)`SplashRequestParameterFetcher`An instance of `SplashRequestParameterFetcher` (to autofill attributes from the request)`thecodingmachine.splash.mode`Defaults to strict modeExtended services
-----------------

[](#extended-services)

This *service provider* registers the `SplashDefaultRouter::class` in the `MiddlewareListServiceProvider::MIDDLEWARES_QUEUE`.

Service nameDescription`MiddlewareListServiceProvider::MIDDLEWARES_QUEUE`Adds the Splash middleware to this queue (to be used by external routers)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity32

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://avatars.githubusercontent.com/u/1104771?v=4)[mouf](/maintainers/mouf)[@Mouf](https://github.com/Mouf)

![](https://avatars.githubusercontent.com/u/1847918?v=4)[TheCodingMachine](/maintainers/thecodingmachine)[@thecodingmachine](https://github.com/thecodingmachine)

---

Top Contributors

[![moufmouf](https://avatars.githubusercontent.com/u/1290952?v=4)](https://github.com/moufmouf "moufmouf (8 commits)")

### Embed Badge

![Health badge](/badges/thecodingmachine-splash-service-provider/health.svg)

```
[![Health](https://phpackages.com/badges/thecodingmachine-splash-service-provider/health.svg)](https://phpackages.com/packages/thecodingmachine-splash-service-provider)
```

###  Alternatives

[roundcube/carddav

CardDAV adapter for connecting to CardDAV-enabled addressbooks

28155.3k](/packages/roundcube-carddav)[fale/isbn

ISBN library

88524.8k6](/packages/fale-isbn)[izniburak/laravel-auto-routes

Auto Route Generating (Auto-Discovery) Package for Laravel

23645.3k](/packages/izniburak-laravel-auto-routes)[nystudio107/craft-typogrify

Typogrify prettifies your web typography by preventing ugly quotes and 'widows' and more

70381.7k18](/packages/nystudio107-craft-typogrify)[efureev/laravel-trees

Multi-Tree structures for Laravel

14253.3k4](/packages/efureev-laravel-trees)[tuupola/base32

Base32 encoder and decoder for arbitrary data

14552.2k6](/packages/tuupola-base32)

PHPackages © 2026

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