PHPackages                             spoom-php/composer - 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. spoom-php/composer

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

spoom-php/composer
==================

Autoloader (for nested classes) and installer for the Spoom packages

v1.1.1(7y ago)0721MITPHPPHP ^7.0

Since Apr 16Pushed 7y ago1 watchersCompare

[ Source](https://github.com/spoom-php/composer)[ Packagist](https://packagist.org/packages/spoom-php/composer)[ RSS](/packages/spoom-php-composer/feed)WikiDiscussions development Synced 3w ago

READMEChangelogDependencies (2)Versions (6)Used By (1)

Spoom Composer Installer
========================

[](#spoom-composer-installer)

Composer plugin for Spoom packages to provide nested class support, and handle package installation.

Usage
-----

[](#usage)

To use the installer, simply set the package `type` to be `spoom` (the installer supports `spoom-extension` too until v2.0.0) in your `composer.json`, and add it as a dependency like the following:

```
{
  "type": "spoom",
  "require": {
    "spoom-php/composer": "^1.1.0"
  }
}
```

Autoload
========

[](#autoload)

The autoloader is extend the standard PSR-4 namespace definitions with nested class support. This means you could put more class in one file as long as the class name begins with the file's name, and the remain part MUST be separated with an uppercase letter (numbers always considered as a lowercase letter). For example the `ExampleClassInterface` class' files can be:

- *ExampleClassInterface.php*
- *ExampleClass.php*
- *Example.php*

Public files
============

[](#public-files)

Packages can define directories (or files) to copy into the Spoom's public directory during the installation process. It's useful for editable configuration or localization files. This can be done with adding an `extra` information into `composer.json`:

```
{
  "extra": {
    "spoom": {
      "public": {
        "relative/path/to/source/": "relative/target/path/",
        "Autoload.php": "spoom-composer/directory/Autoload.php"
      }
    }
  }
}
```

Target path SHOULD start with a directory named after package's id and it will be relative from the `Autoload::DIRECTORY` directory.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity62

Established project with proven stability

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

Total

4

Last Release

2601d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6424430?v=4)[Nagy Samu](/maintainers/nSamu)[@nSamu](https://github.com/nSamu)

---

Top Contributors

[![nSamu](https://avatars.githubusercontent.com/u/6424430?v=4)](https://github.com/nSamu "nSamu (19 commits)")

---

Tags

composerautoloadspoom

### Embed Badge

![Health badge](/badges/spoom-php-composer/health.svg)

```
[![Health](https://phpackages.com/badges/spoom-php-composer/health.svg)](https://phpackages.com/packages/spoom-php-composer)
```

###  Alternatives

[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k40.0M2.8k](/packages/ergebnis-composer-normalize)[automattic/jetpack-autoloader

Creates a custom autoloader for a plugin or theme.

576.1M119](/packages/automattic-jetpack-autoloader)[funkjedi/composer-include-files

Include files at a higher priority than autoload files.

1283.4M19](/packages/funkjedi-composer-include-files)[mnsami/composer-custom-directory-installer

A composer plugin, to help install packages of different types in custom paths.

1465.4M61](/packages/mnsami-composer-custom-directory-installer)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M200](/packages/drupal-core-project-message)[dg/composer-cleaner

Victor The Cleaner: removes unnecessary files from vendor directory.

1411.6M31](/packages/dg-composer-cleaner)

PHPackages © 2026

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