Breaking Down Zapheus

Making the project more clear in its approach.

It's been the start of 2018 and so far I am optimistic about it. After all of the drinking and eating tons of food during Christmas and New Year, I'm back now in doing the daily work routine (software development and paper works) as well as to my open-source chores. To start, I'm currently breaking the core of the Zapheus framework into several packages.

For a while, the Zapheus framework consists of "providers", a simple interface that can be used by a library or framework to interact with the Zapheus framework itself. As of now, the current implementation is that a framework provider is included inside the framework (e.g. Laravel, Symfony, Silex, Slytherin, etc). So far the concept works, but there is a problem in loading the dependencies specifically in Laravel because it needs to load the entire illuminate/support which also consists of another layer of dependencies.

The advantage of breaking down those framework providers in my perspective is that the dependency issue is resolved wherein the only requirement is the PHP version, which is the main goal and concept in creating the Zapheus framework. I've been thinking also to break the core functionalities as well (e.g. HTTP, Routing, Container, etc) but I have no vision about it yet as it might defeat the purpose of creating this framework.

Maybe retain the core functionalities in the single package and create packages that supplement the specified functionality (like the HTTP for example)? I'm not sure yet. But the thing that I'm sure is there is a lot of room for improvement in this framework to be done for the whole year.