Una vez leí que las clases estáticas son muy difíciles e incluso imposibles de depurar. esto es verdad y porqué?Una vez leí que las clases estáticas son muy difíciles e incluso imposibles de depurar. esto es verdad y porqué?
Si un ejemplo ayudaría, aquí es una clase PHP
que utilizo para acceder a una base de datos (no creo que esto es una pregunta-PHP específica, sin embargo):
<?php
class DB
{
private static $instance;
private function __construct() { }
public static function getInstance()
{
if(!self::$instance)
{
self::$instance = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';', DB_USER, DB_PASS);
}
return self::$instance;
}
public static function getPreparedStatement($query)
{
$db = self::getInstance();
return $db->prepare($query);
}
public static function query($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
}
public static function getResult($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt;
}
public static function getSingleRow($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt->fetch();
}
public static function getMultipleRows($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt->fetchAll();
}
}
?>
Espero que estés preparado para una guerra ... hay un montón de odio hacia las clases/métodos estáticos, y se pone peor cuando traes los singletons ... – Nix
Está bien :-) Tengo curiosidad sobre el tema y esperamos las respuestas que la gente brinda. –