Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/08/2008, 18:43
Avatar de jam1138
jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Evitar mezclar php con html

Smarty es una clase... si bien para trabajar con ella sí necesitas al menos un objeto (una instancia de Smarty) puedes ocuparlo en tu programación estructurada sin problema teniendo cuidado de su referencia. Lo mismo que dice Gator, Smarty no es "solo para OO". Igual tomarse un tiempo para trabajar con ella no sería una pérdida de tiempo, es prácticamente un estándar.

Ahora, no sé si recomedaría hacer esta combinación de un objeto con funciones. Como sea, siguiendo con tu idea, tampoco sugeriría hacer una función por elemento del formulario, crea plantillas más grandes, como todo el formulario y podrías pasar un arreglo para hacer las sustituciones. A muy grandes rasgos, algo como:
Código PHP:
<?php
// Tu plantilla
function creaForm($params)
{
    
$form = <<<HTML
        <form action="{$params['action']}" method="{$params['method']}"/>
            <input type="text" name="nombre" value="
{$params['nombre']}" />
            <input type="submit" value="Enviar" />
        </form>
HTML;
        return 
$form;
}

// Entonces "seteas" los valores necesarios
$params['action'] = $_SERVER['PHP_SELF'];
$params['method'] = 'post';

if(!empty(
$_POST)) {
    
$params['nombre'] = $_POST['nombre'];
}

// Parseas e imprimes
echo creaForm($params);
Debería ser funcional. De esta manera tendrías un mejor manejo de los valores pasados a la función, cambiando la idea de variables, como ahora lo planteas, a un arreglo y te ahorrarás dolores de cabeza (ve como el value del texbox es "opcional").

Yendo un paso más allá, ya que decidiste separar el HTML (bien), podrías hacer una implementeación del modelo MVC (Modelo-Vista-Controlador) solo con funciones. Lee este artículo nombrado aquí en el foro: http://jacobo.tarrio.org/ex/txt/mvc.html

Y la invitación a no temerlo a los objetos, esto te debería servir como entrada.

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"