Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2012, 06:29
chemajmb
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 3 meses
Puntos: 0
¿ Cual es la mejor tecnica para escribir html legible en PHP ?

Voy a hacer un listado <ul> <li> ... y lo escribo con una funcion php, ¿ como escribo esta funcion para que me escriba un html correctamente tabulado, ... formateado ?

Código HTML:
...
                                <ul>
                                     <?php echo $this->generaMenu(); ?>
                                </ul>
...
Código PHP:
private function generaMenu()
    {
        
$categorias $this->categorias->getCategorias('where fkidcategoria = 0');
        if ( 
$categorias )
        {
            
$this->generaMenuRecursivo($categorias);
        }else{
            throw new 
Exception('Error dibujando el menú de categorias y subcategorias');
        }
    }
    
    private function 
generaMenuRecursivo($categorias)
    {
        foreach (
$categorias as $categoria ){
            echo 
"<li><a href=\"#\">$categoria[nombre_corto]</a>\n";
            
$categoriashijos $this->categorias->getCategorias'where fkidcategoria = "'.$categoria['id'].'";');
            if ( 
$categoriashijos )
            {
                echo 
"<ul>\n";
                
$this->generaMenuRecursivo$categoriashijos );
                echo 
"</ul>\n</li>\n";
            }else{
                echo 
"</li>\n";
            }
        }
    } 
Ya se que es un poco chapuza, pero bueno, me funciona. Creo que no es ni recursivo pero asi le he llamado.

Pero lo que no se es como imprimir el html, he probado con echo, con print, con printf pasandole el numero de tabulaciones en un parametro opcional, pero no se.

Mi duda principal, no solo en este ejemplo, es, ¿ como se escribe el html en php para que sarga correctamente formateado ( tabulado, saltos de linea, etc ) ? desde que funcion hasta que tipo de comillas utilizar, que combinacion ...

Gracias, un saludo, que grande es esta comunidad!

Última edición por chemajmb; 20/02/2012 a las 06:35