Software For Thought

October 20, 2019

RebarDB: A Simple SQL Query Abstraction Library

Back in 2017, I pitched Rebar as what I had envisioned of being a series of libraries that could be used to form a framework around PHP. It would smooth out many of the things that makes PHP development work a challenge, adn would present a cleaner interface to many essential PHP tools whose out of the box APIs were clunky and difficult to use. At that time, PHP took up a significant percentage of my development work.

My how things can change in a few years. PHP in my world is dead. Since that time two and a half years ago, I have found that the PHP projects I was working on -- both in my personal life and my professional life -- began to dwindle down to legacy maintenance, and finally total obsolescence. I don't think I have written a single line of PHP in over a year!

So, suffice to say: Rebar as a PHP framework is dead as well. I will not be continuing to maintain the code beyond what has already been released.

But not everything about the project is dead: the SQL abstraction concepts that have been developed I feel still present some powerful potential for utility.

So let's redefine Rebar's scope a bit: perhaps Rebar is exclusively a SQL query abstraction layer, regardless of the language in which it has been implemented. Maybe it can still continue to provide a useful set of objects that can be used to define and execute SQL queries. This continues support objective number 1 of the original Rebar project: elimination of hand-writing SQL statements.

Rebar will also aim to make efficient use of prepared statement APIs that are exposed by database connector libraries. This fulfills objective number 2 from the original Rebar project.

The nature of my work has evolved over the last several years. Python has crept in to replace many of the duties once serviced by PHP. So naturally I believe that the first step in this redefining of vision is a porting to Python. Perhaps the concepts of Rebar will find a better home in a more powerful and better supported programming language.

Keep an eye here for an initial stable release and supporting documentation of Rebar-Python. It will be released here before the end of this year.