This task can be developed to infinity and therefore it was necessary to draw a line somewhere, so I will mention other ideas here:
-
I prefer to use strict typing as much as I can and because of that I don't use documentation for code that is understandable(proper method name, strict typed params, return types...). I believe that a bunch of documentation could expand a file and to ruin readability, especially in case we strict typed everything and there is no need for a documentation. Long live strict type (:
-
inside of code, you can find a lot of potential - real world solution, some explanation about work flow, etc...
-
We could have multiple DBs and that could solved by DBInterface(or to use Doctrine and his EntityManager)