I'm currently developing my own PHP framework to serve me for some of my future projects, and as a general learning experience.
After reaching a pretty advanced stage in the development process, I started to wonder if the application design I picked is the most suitable.
My code is divided in two sections: system (holding the framework, cache and so on) and application (containing the modules of the application - containing models, views and controllers, assets and so on).
My main question is: while developing the framework, I went for both object instances and static methods. I usually use static methods when I aim to create funcions that I will not use frequently, and inject object instances that are essential (MySQL interface and so on) into the parent controller/model, to make it accesible to all the modules that require them.
Can this be considered in general a good habit or should I switch to full object instances ?
P.S: I am aware static methods are generally not recommended, as they defeat the purpose of OOP yet, I've seen this implemented in many applications.
P.S.S: I know there are plenty of PHP frameworks out there, some using the architecture I currently implement.