note on the Database class: you should remove the try...catch. currently, if you get no connection, the next call(s) to pdo will error out.
rule of thumb for Exceptions: catch an Exception where you can handle the problem (not where the problem occurs).
for a basic exception like a failed connection, that is rather towards the top level of your script.
The computer is always right. The computer is always right. The computer is always right. Take it from someone who has programmed for over ten years: not once has the computational mechanism of the machine malfunctioned.
André Behrens, NY Times Software Developer