He buscado en todas partes, y parece que no puedo encontrar una respuesta de una forma u otra. ¿Es aceptable (buena o mala práctica) reutilizar o reciclar una variable? Funciona, y he usado este método varias veces, pero no sé si debería estar haciendo esto o no. Intento alejarme del uso de métodos estáticos y pasar a la inyección de dependencia.¿es aceptable reciclar o reutilizar variables?
En este ejemplo, $ table_name se establece en otro lugar.
class DbObject {
private $db = NULL;
protected $table_name;
public function __construct($dbh, $item) {
$this->db = $dbh;
$this->$table_name = $item;
}
// counts items in database //
public function count_all() {
try {
$sql = 'SELECT COUNT(*) FROM ' . $this->table_name;
$stmt = $this->db->query($sql);
$stmt->setFetchMode(pdo::FETCH_COLUMN, 0);
$result = $stmt->fetchColumn();
return $result;
} catch (PDOException $e) {
echo $e->getMessage());
}
}
Para utilizar esta lo utilizaría como esto:
$total_count = new DbObject(new Database(), 'items');
$total_count = $total_count->count_all();
¿Es esta una forma aceptable para codificar? Gracias por su ayuda.
Es técnicamente correcto, pero dará lugar a mucha confusión durante la depuración – alecwhardy
La pregunta es algo errónea: las variables a menudo se reutilizan y "reciclan" (para eso están, a menudo se usa una variable más que una vez). Usted está más preocupado por el nombre de la variable. Lo que en realidad responde a la pregunta: no uses el mismo nombre para diferentes cosas si no quieres tener amigos falsos. – hakre