Comencé a desarrollar un sitio social y me propuse el objetivo de usar programación orientada a objetos en todo momento, así como PDO, la forma en que diseñé mi arquitectura es tener un administrador o controlador de excepción de aplicación global que reciba cualquier excepción que se produzca en cualquier lugar de la aplicación. Mis modelos de base de datos generalmente arrojan una excepción PDO que los modelos respectivos vuelven a lanzar al administrador de excepciones de aplicaciones globales, registro estos errores para verlos más tarde y devuelvo un mensaje de error amigable al usuario final
// El código de muestra modelo // Una matriz de objeto de datos de resultado $ datos = matriz (); tratar{ $ model = new Namespace_Modelname_Model (); $ modelo-> doSomething (); devolver $ datos } catch (PDOException $ e) { lanzar una nueva excepción Global_App_Exception ($ e-> getCode (), $ e-> getMessage ()); devolver $ datos; }