Bandoler sengun entiendo esta parte esta dentro de un método de tu clase
Código PHP:
Ver originalif ($stm->rowCount() > 0) {
while ($fila = $stm->fetch(PDO::FETCH_ASSOC))
{
$salida[] = new ClienteVO($fila['codigo'], $fila['nombre']);
}
} else {
$salida = FALSE;
}
return $salida;
De ser así, no necesitas el if else, y puedes regresar false o un arreglo vació
Código PHP:
Ver originalif ($stm->rowCount() > 0) {
return false; // or return [];
}
while ($fila = $stm->fetch(PDO::FETCH_ASSOC)) {
$salida[] = new ClienteVO($fila['codigo'], $fila['nombre']);
}
return $salida;
En el if, debed de usar el not(!) ya que un arreglo vacío el if lo toma como false así que esto
Código PHP:
Ver original$tpl = new Plantilla();
if($listas)
{
$tpl->assign('lista', $listas);
$tpl->assign('NoRegistros', "");
} else {
$tpl->assign('lista', "");
$tpl->assign('NoRegistros', "No hay Registros");
}
$tpl->display("mostrar.tpl.php");
debe ser algo como
Código PHP:
Ver original$tpl = new Plantilla();
if(!$listas)
{
$tpl->assign('lista', $listas);
$tpl->assign('NoRegistros', "");
} else {
$tpl->assign('lista', "");
$tpl->assign('NoRegistros', "No hay Registros");
}
$tpl->display("mostrar.tpl.php");
Si no quieres usar la negación entonces usa empty pero no es necesario.
La parte que tienes en el if de listas lo puedes hacer un poco mas legible usando un helper y puedes hacer algo como esto.
Código PHP:
Ver originalfunction view
($template, Array $data) {
$tpl = new Plantilla();
foreach($data as $key => $value) {
$tpl->assign($key, $value);
}
$tpl->display($template);
}
Y esto lo puedes incluir en código original
Código PHP:
Ver originalif(!$listas)
{
view('mostrar.tpl.php', ['listas' => $listas, 'NoRegistros' => '']);
} else {
view('mostrar.tpl.php', ['listas' => '', 'NoRegistros' => 'No hay Registros']);
}
si ves como se simplifica ?
Otras mejoras que puedes hacer es usar la opción PDO::FETCH_CLASS de fetch y dejar que PDO llene tus objetos y evitas hacer la asignación que tienes en el while.