PHPackages                             concept-labs/singularity - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. concept-labs/singularity

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

concept-labs/singularity
========================

(C)oncept-Labs Singularity. Dependency Injection pack

1.3.4(3mo ago)22412MITPHPPHP &gt;=8.2

Since Feb 26Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/Concept-Labs/singularity)[ Packagist](https://packagist.org/packages/concept-labs/singularity)[ RSS](/packages/concept-labs-singularity/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (18)Used By (2)

Singularity DI Documentation
============================

[](#singularity-di-documentation)

Comprehensive documentation for the Singularity Dependency Injection Container.

[![Concept](https://camo.githubusercontent.com/e745f492a31d791af8a19eee36a1fa98382320b3e17d448c76596dbf5b41011d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e636570742d65636f73797374656d2d76696f6c65742e737667)](https://github.com/Concept-Labs)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/f32695bd6f65b12545162e869707d33dac6bcb5f6e5dc0d48b6d1f8162b6c247/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e302d626c75652e737667)](https://www.php.net/)[![PSR-11](https://camo.githubusercontent.com/e7e114332d7727d46ac5add479752ace94b0a8b8dcf0085241071230e673b9bf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6e7461696e65722d5053522d2d31312d626c75652e737667)](https://camo.githubusercontent.com/e7e114332d7727d46ac5add479752ace94b0a8b8dcf0085241071230e673b9bf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f6e7461696e65722d5053522d2d31312d626c75652e737667)[![PSR-12](https://camo.githubusercontent.com/9a55c17459c810407cac6350c94a2c6f9545d3c249439e19a763f6856392bb39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d5053522d2d31322d626c75652e737667)](https://camo.githubusercontent.com/9a55c17459c810407cac6350c94a2c6f9545d3c249439e19a763f6856392bb39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d5053522d2d31322d626c75652e737667)[![PSR-4](https://camo.githubusercontent.com/9407e86f5d9e0c5c3198e39b4d5fdb38b2dc6bb84702fcc1d42c54cc60fb4585/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6175746f6c6f6164696e672d5053522d2d342d626c75652e737667)](https://camo.githubusercontent.com/9407e86f5d9e0c5c3198e39b4d5fdb38b2dc6bb84702fcc1d42c54cc60fb4585/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6175746f6c6f6164696e672d5053522d2d342d626c75652e737667)

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

[](#requirements)

- **PHP Version:** &gt;= 8.2
- **PSR-11:** Container Interface ^2.0
- **Dependencies:**
    - `psr/container` ^2
    - `concept-labs/config` ^2
    - `concept-labs/simple-cache` ^1
    - `concept-labs/composer` ^1

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

Copyright (c) 2025 Concept-Labs

Table of Contents
-----------------

[](#table-of-contents)

### Getting Started

[](#getting-started)

1. **[Overview](docs/overview.md)** - Introduction to Singularity DI

    - What is Singularity DI?
    - Key features
    - Core components
    - How it works
    - Use cases
2. **[Getting Started](docs/getting-started.md)** - Quick start guide

    - Installation
    - Basic setup
    - Complete examples
    - Common patterns
    - Debugging tips

### Core Concepts

[](#core-concepts)

3. **[Configuration](docs/configuration.md)** - Configuration reference

    - Configuration structure
    - Package-level configuration (recommended)
    - Namespace configuration
    - Global preferences
    - Plugin configuration
    - Advanced configuration techniques (@include, @import, ${VAR})
    - Environment-specific config
    - Best practices
4. **[Context Builder](docs/context-builder.md)** - Dependency resolution

    - How it works
    - Configuration hierarchy
    - ProtoContext structure
    - Dependency resolution
    - Argument resolution
    - Performance optimization
5. **[Lifecycle Management](docs/lifecycle.md)** - Service lifecycle

    - Lifecycle patterns (Transient, Shared, Weak, Prototype)
    - Service registry
    - Memory management
    - Lifecycle events
    - Best practices

### Advanced Features

[](#advanced-features)

6. **[Plugin System](docs/plugins.md)** - Plugin development

    - Plugin interface
    - Creating custom plugins
    - Registering plugins
    - Built-in plugins
    - Advanced patterns
    - Best practices
7. **[Factories](docs/factories.md)** - Factory pattern

    - Factory interface
    - Creating factories
    - Factory patterns (Abstract, Builder, Multiton, Lazy)
    - ServiceFactory
    - Testing factories
8. **[Contracts](docs/contracts.md)** - Built-in interfaces

    - Initialization contracts (Injectable, AutoConfigure)
    - Lifecycle contracts (Shared, Weak, Prototype)
    - Factory contracts (LazyGhost)
    - Combining contracts
    - Creating custom contracts
9. **[Advanced Usage](docs/advanced-usage.md)** - Complex scenarios

    - Multi-tenant applications
    - Middleware pattern
    - Decorator pattern
    - Event-driven architecture
    - Aspect-oriented programming
    - Dynamic service registration
    - Circular dependency resolution
    - Performance optimization
    - Testing patterns

### Reference

[](#reference)

10. **[API Reference](docs/api-reference.md)** - Complete API documentation
    - Core classes
    - Plugin system
    - Factory system
    - Contracts
    - Exceptions
    - Configuration structure
    - Built-in plugins

Quick Links
-----------

[](#quick-links)

### Common Tasks

[](#common-tasks)

- **Install and Setup:** [Getting Started → Installation](docs/getting-started.md#installation)
- **Configure Services:** [Configuration → Package Configuration](docs/configuration.md#package-configuration-primary-strategy)
- **Advanced Config Techniques:** [Configuration → Advanced Configuration Techniques](docs/configuration.md#advanced-configuration-techniques)
- **Create a Plugin:** [Plugins → Creating Custom Plugins](docs/plugins.md#creating-a-custom-plugin)
- **Use Factories:** [Factories → Creating a Factory](docs/factories.md#creating-a-factory)
- **Manage Lifecycle:** [Lifecycle → Lifecycle Patterns](docs/lifecycle.md#lifecycle-patterns)
- **Advanced Patterns:** [Advanced Usage](docs/advanced-usage.md)

### By Use Case

[](#by-use-case)

- **Multi-Tenant Apps:** [Advanced Usage → Multi-Tenant Applications](docs/advanced-usage.md#multi-tenant-applications)
- **Testing:** [Advanced Usage → Testing Patterns](docs/advanced-usage.md#testing-patterns)
- **Performance:** [Advanced Usage → Performance Optimization](docs/advanced-usage.md#performance-optimization)
- **AOP:** [Advanced Usage → Aspect-Oriented Programming](docs/advanced-usage.md#aspect-oriented-programming-aop)

### By Feature

[](#by-feature)

- **Autowiring:** [Getting Started → Working Without Configuration](docs/getting-started.md#working-without-configuration-autowiring)
- **Lazy Loading:** [Contracts → LazyGhostInterface](docs/contracts.md#lazyghostinterface)
- **Singleton Pattern:** [Contracts → SharedInterface](docs/contracts.md#sharedinterface)
- **Prototype Pattern:** [Contracts → PrototypeInterface](docs/contracts.md#prototypeinterface)
- **Method Injection:** [Contracts → InjectableInterface](docs/contracts.md#injectableinterface)

Documentation Structure
-----------------------

[](#documentation-structure)

Each documentation file follows a consistent structure:

1. **Overview** - Introduction to the topic
2. **Core Concepts** - Fundamental knowledge
3. **Examples** - Practical code examples
4. **Advanced Topics** - Complex scenarios
5. **Best Practices** - Recommended patterns
6. **Next Steps** - Links to related topics

Code Examples
-------------

[](#code-examples)

All code examples in this documentation are:

- **Complete** - Can be copied and run
- **Tested** - Based on actual working code
- **Commented** - Include explanatory comments
- **Progressive** - Start simple, build complexity

Conventions
-----------

[](#conventions)

### Code Blocks

[](#code-blocks)

```
// PHP code examples
$container = new Singularity($config);
```

```
// JSON configuration examples
{
  "singularity": {
    "preference": {}
  }
}
```

### Symbols

[](#symbols)

- ✅ **Good practice** - Recommended approach
- ❌ **Anti-pattern** - Avoid this
- ⚠️ **Warning** - Use with caution
- 💡 **Tip** - Helpful information

Contributing
------------

[](#contributing)

Found an error or want to improve the documentation?

1. Make your changes
2. Submit a pull request
3. Include clear description of changes

License
-------

[](#license-1)

This documentation is part of the Singularity DI project and is covered by the same license.

Support
-------

[](#support)

- **Issues:** [GitHub Issues](https://github.com/Concept-Labs/singularity/issues)
- **Discussions:** [GitHub Discussions](https://github.com/Concept-Labs/singularity/discussions)
- **Source Code:** [GitHub Repository](https://github.com/Concept-Labs/singularity)

---

**Start Learning:** Begin with the [Overview](docs/overview.md) or jump to [Getting Started](docs/getting-started.md) for a hands-on introduction.

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance78

Regular maintenance activity

Popularity10

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 64% 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 ~25 days

Total

14

Last Release

119d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/39bcfd110a5cc1f2d7ff687193670d00133cf415ad2b9959afaff24ff1e564fd?d=identicon)[vgalitsky](/maintainers/vgalitsky)

---

Top Contributors

[![vgalitsky](https://avatars.githubusercontent.com/u/1241206?v=4)](https://github.com/vgalitsky "vgalitsky (32 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (18 commits)")

---

Tags

phpcontainerPSR-11dependency-injectiondisingularity

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/concept-labs-singularity/health.svg)

```
[![Health](https://phpackages.com/badges/concept-labs-singularity/health.svg)](https://phpackages.com/packages/concept-labs-singularity)
```

###  Alternatives

[php-di/php-di

The dependency injection container for humans

2.8k48.9M994](/packages/php-di-php-di)

PHPackages © 2026

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