Bueno la finalidad de SINGLETON es una CLASE ESTATICA GLOBAL, para evitar hacer por error abrir una conexion que ya existe, pero esto no quiere decir que lo hagas con todas las clases, sino con las que tu crees que son importantes, lo correcto es no abusar de las mismas, ya que de lo contrario seria como usar variables globales
por ejemplo tu clase DATABASE deberia ser global, ya que lo usaras para muchas cosas, y la conexion, y tu clase de QUERYS tambien
bueno la finalidad del POO, es que tambien uses en CONJUNTO con tu IDE de programacion, para la sugerencia de codigo, por ejemplo
digamos que depues de 1 año, retomas un proyecto abandonado usando POO,
quieres mostrar los datos del "usuario logeado" por asi decirlo, digamos que usaste un MAPPEO avanzado en tu base de datos y tus archivos PHP
y todo se gestiona con clases
Código PHP:
<?php
/*.......codigo..........*/
$usuario= new modelos_dbusuarios($id);
printf ("<h1>%s<h1/>",$usuarios->
al momento ahi es donde te sugiere que atributos o metodos tiene tu clase
ya que acabo de 1 año todos nos olvidamos de como fue hecho cada cosa, pero si fue hecha segun alguna estructura retomarlo o modificarlo no costara mucho
Código PHP:
<?php
namespace modelos_db;
class usuarios
{
public $id;
public $password;
public $apellido;
public $nombres;
}
en resumen si gustas te recomiendo el IDE PHPSTORM es muy potente, no es por alentar la pirateria, pero ese programa de paga hay por google la "medicina" :v