Originally started as a learning project back in 2013, I was interested in creating a Dependency Injection Container for PHP. At the time, AngularJS was king and had a really awesome way of resolving dependencies. Originally this project had been named “z20”. I have since, renamed the project and refactored it several times. It has become time to start this process again. But this time, it will be the final time we are moving this code base as UA1 Labs will be maintaining and supporting this library for now on.
When I originally started this project, I set out to include it as part of a framework I had been working on. The framework was slated to replace a project I had started called Zoose. After getting deep into the project, I realized that instead of creating a framework and a DI why not have my DI be the framework. Z20 was born.
Z20 because I was building the 2.0 version of Zoose. At the beginning of the project I had been interested in a documentary I had just watched about the Ulfberht sword. A friend of mine told me I should have named the framework Ulfberht.
Shortly after creating Z20, It went into production on several projects and still exists today out in the wild! I shelved the Z20 project, swearing off any more client service work, and moved on. Years later, I decided to resurrect this project and rebrand it to “Ulfberht”, pulling out only the DI and leaving the rest of the Z20 framework behind. Ulfberht has since been used over and over again in many different projects.
Why Move and Rename Ulfberht Yet Again?
When it came time for me to create the next framework (FireStudio), I would decide against a DI all together. I instead went with a simple service container. When the framework first started out, this made sense as all I was trying to do was create a simple MVC that leveraged a simple service container. The FireStudio project has grown and now we are in need of an official DI. So UA1 Labs is adopting it.
Ulfberht is no longer maintained and has very little users. So we are going to claim it for UA1 Labs and integrate it into our Fire Suite of projects.
What Is Going To Change?
- Ulfberht will be renamed to FireDI
- We will move the code to https://github.com/ua1-labs/firedi
- We will update the source code styling to take on that of the rest of our Fire suite of tools.
- We will move the code into 2.0.