Foros del Web » Programando para Internet » PHP »

¿Tiene sentido esta Clase PHP?

Estas en el tema de ¿Tiene sentido esta Clase PHP? en el foro de PHP en Foros del Web. Bien tengo que hacer una web con muchas paginas en donde los menus y cabecera son siempre lo mismo. He pensado en hacer una clase ...
  #1 (permalink)  
Antiguo 13/09/2012, 00:57
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cuba
Mensajes: 67
Antigüedad: 11 años, 7 meses
Puntos: 1
¿Tiene sentido esta Clase PHP?

Bien tengo que hacer una web con muchas paginas en donde los menus y cabecera son siempre lo mismo. He pensado en hacer una clase donde guarde por trozos el codigo html y asi luego solo tengo que llamar a ese metodo. Como una plantilla vamos.

Pero soy algo nuevo en esto y no se si es una burrada o no.

Seria algo asi:

Código PHP:
class PlantillaWeb
{
    
    var 
$html;
 
  
#Funcion que pinta la cabecera con logo y slides javascript
  
public function cabecera(){    
    
    
$html "<div id='cabecera'>";
    
$html .= "<a href='index2.php' title=''><img src='images/cabecera.png'></a>";
    
$html .= "<div id='highlight'>";    
    
$html .= "<a href='#' rel='nofollow' target='_blank'><img src='images/slider1.jpg' alt=''></a>";
    
$html .= "<a href='#' rel='nofollow' target='_blank'><img src='images/slider2.jpg' alt=''></a>";
    
$html .= "<a href='#' rel='nofollow' target='_blank'><img src='images/slider3.jpg' alt=''></a>";
    
$html .= "<script type='text/javascript'> sweet.slider('highlight','navegation',6);</script>";
    
$html .= "</div>";
    
$html .= "</div>";        
         
    return 
$html;

    }
        
    
#Funcion que dibuja el menu horizontal 
    
public function menuhorizontal(){
        
    
$html "<div id='menuhorizontal'>";
   
$html .= "<ul id='mh'>";
    
$html .= "<li><a href='#'>Productos</a></li>";
    
$html .=    "<li><a href='#'>Mantenimientos</a></li>";
    
$html .= "<li><a href='#'>Servicios</a></li>";
    
$html .= "    <li><a href='#'>Tienda Online</a></li>";
    
$html .= "    <li><a href='#'>Área Clientes</a></li>";
    
$html .= "</ul>";
    
$html .= "</div>";
    
    return 
$html;
        
    }

Y asi sucesivamente segun necesite. ¿Como lo veis?
  #2 (permalink)  
Antiguo 13/09/2012, 01:06
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: ¿Tiene sentido esta Clase PHP?

No vas mal encaminado pero lo ideal es hacerlo así:

Coges todo el código del menú, cabecera o lo que quieras y lo metes en un fichero a parte, llamémoslo cabecera.php.

Después en las páginas que quieras que salga la cabecera incluyes el fichero, de la siguiente forma:
include ("cabecera.php");
Y es como si estuviera escrito en la posición que lo incluyes.

También puedes usar require, require_once o include_once según tus necesidades, mira las diferencias en php.net pero con include mismo te vale.
  #3 (permalink)  
Antiguo 13/09/2012, 01:08
 
Fecha de Ingreso: septiembre-2012
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: ¿Tiene sentido esta Clase PHP?

Create dos archivos, cabecera.php y menuhorizontal.php y haces un include de ellos donde lo necesites. Así es mucho más fácil luego hacer modificaciones y lo tienes más organizado.
  #4 (permalink)  
Antiguo 13/09/2012, 01:11
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cuba
Mensajes: 67
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: ¿Tiene sentido esta Clase PHP?

Gracias por responder tan rapido. El problema que le veo a los includes es que me limita mucho.

De esta forma siempre le podre pasar parametros a las funciones y poder modificar sobre la marcha las cosas.

Dentro de lo que cabe lo veo mas "profesional". Pero si me decis que es mejor los includes lo cambio.
  #5 (permalink)  
Antiguo 13/09/2012, 01:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ¿Tiene sentido esta Clase PHP?

No les hagas caso...

No hay "una forma mejor" o "peor"... usa la q más te interese!

Yo lo tengo como funciones (en vez de una clase), pero si lo q quieres es "profesionalismo" y q quede "chupiguay del paraguay", utiliza algún sistema de plantillas (ej: Twig!) Le tienes q dedicar un par de horas... pero es bastante potente ;)

Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 13/09/2012, 03:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿Tiene sentido esta Clase PHP?

A las funciones que muestras no les vas a pasar ningun parametro, con lo que siempre te seria mas facil mantener un fichero de html plano que esas funciones y con el include tendrias bastante.

Si vas a sofisticar las funciones luego si es una buena idea crear esa clase o simplemente funciones....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #7 (permalink)  
Antiguo 13/09/2012, 07:31
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ¿Tiene sentido esta Clase PHP?

Cita:
Yo lo tengo como funciones (en vez de una clase), pero si lo q quieres es "profesionalismo" y q quede "chupiguay del paraguay", utiliza algún sistema de plantillas (ej: Twig!) Le tienes q dedicar un par de horas... pero es bastante potente ;)
Jajaja me he podido reir mucho con eso de chupiguay del paraguay, mola mazo, nunca la habia escuchado, es mas guay que el guay mismo .

Cita:
A las funciones que muestras no les vas a pasar ningun parametro, con lo que siempre te seria mas facil mantener un fichero de html plano que esas funciones y con el include tendrias bastante.
Concuerdo con quim, sin embargo si planeas usar una clase o función a futuro podrias hacerlo facilmente para reutilizarla. Es algo que se me ocurrio asi a botepronto. No quiero decir ni que sea mejor o peor, son opciones y todas son igualmente validas. Se me ocurrio a mi esto, igual revisa si esta bien porque lo escribi de afan.



Código PHP:

var $menu;//arreglo de opciones de menu.

public function menuhorizontal(){ 

$listado=$this->menu;
         
    
$html "<div id='menuhorizontal'>"
    
$html .= "<ul id='mh'>"
for(
$i=0;$i<count($listado);$i++){    
$html .= "<li><a href='#'>$listado[$i]</a></li>"
    }
    
$html .= "</ul>"
    
$html .= "</div>"
     
    return 
$html
         
    } 

$web=new PlantillaWeb;
$web->menu=array("Productos""Mantenimientos","Servicios","Tienda Online","Área Clientes"); 
$web->menuhorizontal(); 
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: clase, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.