PHPackages                             packfire/fuelblade - 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. packfire/fuelblade

AbandonedArchivedLibrary

packfire/fuelblade
==================

Packfire FuelBlade - Dependency Injection / IoC library for PHP

1.2.3(12y ago)21.5k3BSD-3-ClausePHPPHP &gt;=5.3.0

Since Feb 28Pushed 12y ago1 watchersCompare

[ Source](https://github.com/packfire/fuelblade)[ Packagist](https://packagist.org/packages/packfire/fuelblade)[ Docs](http://mauris.sg/packfire/)[ RSS](/packages/packfire-fuelblade/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (5)DependenciesVersions (10)Used By (3)

\#Packfire FuelBlade

\##What is FuelBlade?

Packfire FuelBlade is a library that helps you the power of dependency injection into your PHP application. Through the [Inversion of Control](http://en.wikipedia.org/wiki/Inversion_of_control) (IoC) technique, you can decouple class dependencies and build better test-friendly code.

\##What is IoC?

Traditionally, a class is easily coupled like this:

```
    class ConsoleOutput
    {
        public function write($message)
        {
            echo $message;
        }
    }

    class TaskManager
    {
        protected $output;

        public function __construct()
        {
            $this->output = new ConsoleOutput();
        }
    }

    class Application
    {
        public function run()
        {
            $manager = new TaskManager();
            $manager->run();
        }
    }
```

However, `TaskManager` is now coupled to `ConsoleOutput`. Any output made by `TaskManager` can only go to console output and there is no flexibility in choosing which output to use. Hence, we can perform some abstraction magic and write some code like this:

```
    interface OutputInterface
    {
        public function write($message);
    }

    class ConsoleOutput implements OutputInterface
    {
        public function write($message)
        {
            echo $message;
        }
    }

    class FileOutput implements OutputInterface
    {
        public function write($message)
        {
            // write to file
        }
    }

    class TaskManager
    {
        protected $output;

        public function __construct(OutputInterface $output)
        {
            $this->output = $output;
        }

    }

    class Application
    {
        public function run()
        {
            $ioc = new \Packfire\FuelBlade\Container();
            $ioc['manager'] = $this->share(
                function ($ioc) {
                    return new TaskManager($ioc['output']);
                }
            );
            $ioc['output'] = $this->share(new FileOutput());
            $ioc['manager']->run();
        }
    }
```

[Nettuts+ has a great article](http://net.tutsplus.com/tutorials/php/dependency-injection-huh/) on explaining the various methods of dependency injections, and ultimately explaining IoC as the ultimate solution.

\##Sounds Great! How do I install FuelBlade?

You can install FuelBlade from [Packagist](https://packagist.org/packages/packfire/fuelblade) via [Composer](https://getcomposer.org).

```
{
    "require": {
        "packfire/fuelblade": "1.1.*"
    }
}

```

All of the releases of Packfire FuelBlade are described on the package's Packagist page. Through Composer's autoloader (or your own), you will be able to use FuelBlade directly into your application.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity64

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

Recently: every ~33 days

Total

8

Last Release

4446d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1743cee8bb3242229368d7fca5a7ac952932fd377d0c3d4343eb8dceea6a395e?d=identicon)[mauris](/maintainers/mauris)

---

Top Contributors

[![mauris](https://avatars.githubusercontent.com/u/996939?v=4)](https://github.com/mauris "mauris (73 commits)")

---

Tags

dependencydiioc

### Embed Badge

![Health badge](/badges/packfire-fuelblade/health.svg)

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

###  Alternatives

[php-di/php-di

The dependency injection container for humans

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

A fast and intuitive dependency injection container.

86387.8M343](/packages/league-container)[nette/di

💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP features.

92140.6M1.4k](/packages/nette-di)[capsule/di

A PSR-11 compliant autowiring dependency injection container.

2857.5k2](/packages/capsule-di)[miladrahimi/phpcontainer

Dependency injection (IoC) container for PHP projects

1322.7k2](/packages/miladrahimi-phpcontainer)

PHPackages © 2026

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