A long time ago, I’d endeavored to create my own lightweight PHP framework, ccPHP. It was a good exercise, but never reached prime time. Around that time I began to notice a lot of others endeavoring to do the same thing (i.e., create simpler, lighter weight PHP frameworks that didn’t take more time to learn than to implement the project). I’ve been away for a while and things have changed.
- The continued refinement and simplification of frameworks.
- The greater emphasis on frontend apps to do more of the work that used to be done in the middle tier.
- The ubiquity of RESTful interfaces, the dividing line between front-ends and servers.
I doubt that I will ever finish my own framework, now that others are a lot closer to the goals that I was moving towards. And, right now, I simply want to find a lightweight modular frameworks that truly help me get my core work done. Dragan Gaic did a great survey of the PHP hot frameworks in “Top 12 Best PHP RESTful Micro Frameworks (Pro/Con)“.
A key feature of such frameworks is for them to be modular… to allow me to pick and choose only the components I need, rather than have to install, understand, and run a bunch of functionality that I do not need. It makes it harder for the developer and impacts performance of the results. Model-View-Controler (MVC) is a common software architecture pattern. With the client side being far more capable of managing the “view” part, on its own, the server side can be simpler. Instead of cluttering up the server-side app with trying to display information, it can simply focus on securing data and access and providing data services via RESTful interfaces.
So, what I am looking for are pieces to help me access persistent data and build RESTful interfaces. And something to help keep all the code flow organized. Based on the article, I can look at Silex, Slim, Lumen, or Phalcon for the latter. For database access, I’ve worked with RedBeans before and liked it, so I will probably pick that up again. If one of the frameworks doesn’t help implement and configure a RESTful interface simply, then I may get back into the framework building business again.