PHP PDO - ¿Qué significan d dbh y st sth?


En los ejemplos de DOP a menudo encuentro los acrónimos $dbh y $sth utilizados. Supongo que $dbh significa "database handle" - ¿correcto? ¿Qué pasa con $sth? "Declaración de manejar"?

¿Hay buenas razones para usar lo anterior en lugar de $db_connection y $query (u otro según corresponda)?

Author: Oldskool, 2011-06-17

3 answers

D dbh = "Database Handle"

St sth = "Statement Handle"

Prefiero las formas más largas, ya que son más descriptivas. A menudo es útil para futuros mantenedores si usted es explícito, incluso cuando utiliza acrónimos y abreviaturas comunes.

En el pasado, cuando la capacidad del disco duro, la memoria y el ancho de banda eran más escasos, las abreviaturas pueden haber tenido sentido. Hoy en día hay (posiblemente) mayor valor en producir código legible y mantenible.

 43
Author: George Cummins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-27 14:36:46

Su intuición era correcta en cuanto a lo que representan esos nombres de variables, pero eso no quiere decir que cada uso de PDO usa esos nombres de variables, solo el código particular que está mirando.

Los nombres de variables nunca son significativos para la correcta ejecución de una función a la que se los pasa. He visto a personas usar obscenidades para nombres de variables en todo su proyecto... simplemente no importa a las funciones. Por su propio bien, y por el bien de cualquier futuro desarrollador que trabaje con usted, los nombres de las variables deben ser concisos y claros. Se deben evitar las abreviaturas cuando se puede ayudar, ya que puede no estar claro para alguien más que $hndlr es cómo se abrevia "manejador" - como esta misma pregunta demuestra, las abreviaturas rara vez son intuitivas.

Es más importante que desarrolle o elija un estándar de codificación y se adhiera a él. Si sus variables son todas lower_case_with_underscores, apéguese a eso independientemente de lo que vea a las personas haciendo en otro código fuera de tu proyecto.

 4
Author: Chris Baker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-16 23:32:59

Es importante saber cuáles son y usarlos correctamente. Eres libre de llamarlos como quieras. Teniendo en cuenta que la palabra 'manejar' no se ve a menudo en otras áreas, por lo general doy a mis variables PDO diferentes nombres.

Mi conexión, la llamo pd pdo_db. El identificador de la instrucción le doy un nombre descriptivo basado en lo que representa, como $pdo_user_info. Es una cuestión de equilibrar su propio gusto con hacerlo comprensible para los futuros lectores de su código.

 2
Author: Cole,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-16 23:26:54