Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Cómo estructurar y programar una web para cargar páginas, contenidos, secciones etc?

Estas en el tema de ¿Cómo estructurar y programar una web para cargar páginas, contenidos, secciones etc? en el foro de PHP en Foros del Web. Hola. Estoy haciendo pruebas con php donde intento hacer un gestor de contenidos muy básico con php y mysql (más adelante con mysqli y POO) ...
  #1 (permalink)  
Antiguo 06/04/2015, 23:51
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.928
Antigüedad: 16 años, 6 meses
Puntos: 62
¿Cómo estructurar y programar una web para cargar páginas, contenidos, secciones etc?

Hola.

Estoy haciendo pruebas con php donde intento hacer un gestor de contenidos muy básico con php y mysql (más adelante con mysqli y POO) y por ahora estoy preparando lo que sería una plantilla o estructurando una web para cargar diferentes secciones, contenidos etc etc. La idea es aprender a hacerlo de la mejor manera posible, es decir cuando tengo que empezar un proyecto plantearme de un principio la mejor la estructura, programación, módulos etc etc que se debería de hacer teniendo en cuenta futuros cambios de programación o cambios del apartado del diseño por completo. Ya se que es un tema muy visto en el foro pero creo que la mejor manera de aprender y asegurarme es practicando así que empiezo de 0.

Por ahora he probado con dos opciones diferentes.

A) - En la primera creo el nombre de la página por ejemplo index.php con la variable $pagina="index"; que será llamada en el include contenidos que he preparado y lo mismo con cualquier otra página, si por ejemplo la página fuese otros.php le creo la variable $pagina="otros"; y también sería llamada desde el mismo include contenidos.

index.php

Código PHP:
Ver original
  1. <?php
  2. //Indico el título de la página si es necesario
  3. $titulo_pagina = "Mini proyecto web demo con php.";
  4. include("inc/head.php");
  5. ?>
  6. <body id="inicio">
  7. <?php
  8. $pagina ="index";
  9. ?>   
  10. <?php
  11. include("inc/contenido.php"); //tambien pueden ser como contenido.inc
  12. ?>
  13. <?php
  14. include("inc/footer.php");
  15. ?>

Si fuese otros.php sería como el index pero con $pagina ="otros";

contenido.php

Código PHP:
Ver original
  1. <?php
  2. include("header.php");
  3. ?>
  4. <?php
  5. //Preparo la sección o página a cargar según corresponda
  6. //Utilizo la variable página que se incluye en cada página.html o .php
  7. switch ($pagina) {
  8.     case 'index':
  9.         echo "Contenido para el index";
  10.         /* Aquí añadiría el html
  11.         <section id="contenedor">
  12.         <section id="contenidos">
  13.         <h1>Sección principal.</h1>
  14.         <article>
  15.         <p>Aquí inserto noticias</p>*/
  16.         break;
  17.     case 'otros':
  18.         echo "Contenido para la página otros";
  19.         break; 
  20.     default:
  21.         echo "Contenido para el index";
  22.         break;
  23. }
  24. ?>

B) - Segunda opción creo por ejemplo otro index-noticias.php solo con un include (contenido-noticias.php) el cual tendrá dentro solo el contenido para mostrar en ese index noticias y si luego quiero crear otra página como otros-articulos.php pues hago el mismo proceso que en el anterior pero incluyendo si contenido correspondiente (include contenido-otros.php).

index-noticias.php

Código PHP:
Ver original
  1. <?php
  2. //Indico el título de la página si es necesario
  3. $titulo_pagina = "Mini proyecto web demo con php.";
  4. include("inc/head.php");
  5. ?>
  6. <body id="inicio">
  7. <?php
  8. include("inc/contenido-noticias.php"); //tambien pueden ser como contenido.inc
  9. ?>
  10. <?php
  11. include("inc/footer.php");
  12. ?>

contenido-noticias.php

Código PHP:
Ver original
  1. <?php
  2. include("header.php");
  3. ?>
  4. <section id="contenedor">
  5.     <section id="contenidos">
  6.         <h1>Sección principal.</h1>
  7.         <article>
  8.         <p>Aquí inserto noticias</p>           
  9.             <?php
  10.             include("inc/noticias.php");           
  11.         </article>
  12.         <h2>Otros artículos.</h2>      
  13.         <article>
  14.             <p> Aquí van otros artículos</p>                           
  15.         </article>         
  16.     </section>
  17. </section>

luego si fuese otros.php sería lo mismo pero llamaría a otro include para el contenido, por ejemplo otros-articulos.php

¿Cual de las dos maneras A y B se suele utilizar más o incluso que otra opción aparte de las citadas podría mejorar?

En cuanto a los contenidos dentro de cada include que se cargarán en las páginas dejo la opción de varias las secciones diferentes que pueda haber en la web, diseño, las noticias a mostrar, imágenes etc etc pero con la opción de mostrarse en la misma página, es decir que si por ejemplo quiero ver una noticia, imagen, producto al detalle me cargaría en la misma url a través de get.

Código PHP:
Ver original
  1. //Apartado que iría en el include de noticias:
  2. //Primero hago la consulta a la base de datos para mostrar un nº determinado de noticias.
  3. //Cada noticia llevará un enlace de ver más
  4. //------ Opción de ver más -----------
  5.     echo "<a href=\"index.php?id_noticia=". $id_noticia ."\" title=\"".$titulo."\" > - Ver más  </a><br>";
  6. //------ Fin opción de ver más -----------
  7. //Mostrar la noticia solicitada en esta url: http://localhost/php/index.php?id_noticia=1
  8. //Cojo las variables de la url en el caso de que existan o no              
  9.     if(isset($_GET['id_noproducto'])){
  10.         $id_noticia = mysql_real_escape_string ($_GET['id_noticia']);
  11.     }
  12.     else{
  13.         $id_noticia = NULL;
  14.     }
  15. //Imprimo la noticia recibida.

¿es esa la manera correcta de cargar contenidos o hay alguna otra mejor y más fácil?

Saludos.
  #2 (permalink)  
Antiguo 07/04/2015, 06:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 5 meses
Puntos: 2534
Respuesta: ¿Cómo estructurar y programar una web para cargar páginas, contenidos, sec

Cita:
¿Cual de las dos maneras A y B se suele utilizar más o incluso que otra opción aparte de las citadas podría mejorar?
¿Lo dices de broma verdad?

Vamos, un switch() es complicado de mantener, ¿o pensabas tener ahí todo el contenido?

Es naturalmente obvio que separar siempre será mejor, preferible tener 100 archivos diferentes con contenido diferente que uno sólo con todo revuelto ahí.

Cita:
¿es esa la manera correcta de cargar contenidos o hay alguna otra mejor y más fácil?
Usar la palabra "correcto" es pretencioso, sin embargo es perfectamente válido lo que haces pues desde luego siempre existirán mejores técnicas al respecto.

¿Fácil?

Es relativo, lo que es fácil para algunos desde luego dudo que sea fácil para todos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/04/2015, 07:43
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.928
Antigüedad: 16 años, 6 meses
Puntos: 62
Respuesta: ¿Cómo estructurar y programar una web para cargar páginas, contenidos, sec

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Lo dices de broma verdad?

Vamos, un switch() es complicado de mantener, ¿o pensabas tener ahí todo el contenido?
Sí supieras que soy experto en "barbaridades" y que soy capaz de hacer algo así...

Cita:
Iniciado por pateketrueke Ver Mensaje
Es naturalmente obvio que separar siempre será mejor, preferible tener 100 archivos diferentes con contenido diferente que uno sólo con todo revuelto ahí.

Usar la palabra "correcto" es pretencioso, sin embargo es perfectamente válido lo que haces pues desde luego siempre existirán mejores técnicas al respecto.

¿Fácil?

Es relativo, lo que es fácil para algunos desde luego dudo que sea fácil para todos.
Ok, creo que entonces seguiré esa segunda opción en diferentes archivos. En cuanto a la técnica o facilidad te entiendo perfectamente en todo lo que dices, más que nada me refiero si puedo hacer algo mejor que eso que muestro, quizás no ahora ya que los conocimientos que tengo hasta el momento son básicos pero quizás para futuros proyectos con más embergadura.

Gracias por tu respuesta, saludos
  #4 (permalink)  
Antiguo 08/04/2015, 08:42
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.928
Antigüedad: 16 años, 6 meses
Puntos: 62
Respuesta: ¿Cómo estructurar y programar una web para cargar páginas, contenidos, sec

Por cierto, se me ha olvidado preguntar...

¿Qué otro ejemplo o ejemplos con diferentes técnicas puedo ir mirando aparte de esta que voy a usar?

Gracias de nuevo.
  #5 (permalink)  
Antiguo 08/04/2015, 10:27
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 6 años, 2 meses
Puntos: 379
Respuesta: ¿Cómo estructurar y programar una web para cargar páginas, contenidos, sec

basicamente existe dos formas; que son el Page Controller y el Front Controller, de echo cuando leas las ligas te darás cuenta que la opción A es una implementación poco óptima del Front Controller, existen ya soluciones que implementan esto como klein por mencionar uno. Otras opciones son las que están basadas en REST pero a nivel "interno" implementan variantes del Front Controller, lo que cambia es que se apegan mas a la forma en que trabaja el protocolo HTTP.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 17/04/2015, 13:08
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.928
Antigüedad: 16 años, 6 meses
Puntos: 62
Respuesta: ¿Cómo estructurar y programar una web para cargar páginas, contenidos, sec

Hola hhs.

Veo que tengo mucho camino por recorrer aún en este aspecto, así que manos a la obra. Muy buena información, gracias.

La verdad es que vuestra ayuda me ha servido de mucho sobre todo para desbloquearme un poco en este aspecto. Gracias de nuevo a ambos.

Etiquetas: contenidos, estructurar, html, mysql, páginas, secciones, variable
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 23:59.