¿Cuál es la mejor manera de acceder a una base de datos desde PHP? [cerrado

Al acceder a una base de datos MySQL desde PHP, parece haber varias formas:

Sprinkle the code with raw SQL-statements
Use the VO-pattern from Java (e.g. DB_DataObjects from PEAR)
DIY and write a script that auto-generates one PHP class per database 

Aparte de esto, también he leído sobreLINQ in .NET pero no lo he visto implementado enPHP.

¿Qué otros patrones hay?

Si comenzaras a construir un sitio web desde cero hoy, ¿cuál elegirías?

Clarificación: no se trata de capas de abstracción de DB (PDO, MDB2). El patrón discutido aquí es algo que construye sobre PDO o MDB2.