Orden de ejecución de PHP: Encabezado, página principal y pie de página
Este tutorial para desarrolladores te muestra, utilizando un diseño básico con bx_Header.html, index.html y bx_Footer.html, cuándo se ejecutan los diferentes scripts PHP. Aprenderás cómo se amplía el contenido de $LayoutHTML paso a paso y dónde puedes realizar cambios específicos de la página o globales.
Requisitos y objetivo
Para este tutorial para desarrolladores, debes saber cómo el CMS de bluetronix compone una página a partir de su diseño, el encabezado, la página principal y el pie de página. Te mostraremos, en qué orden se ejecutan los scripts PHP de estas áreas y qué partes de $LayoutHTML ya están cargadas.
En el ejemplo, el diseño básico está compuesto por los archivos del CMS bx_Header.html, index.html y bx_Footer.html. La página principal index.html representa la página HTML que se llama.
Diseño básico: Encabezado, página principal y pie de página
El diseño básico determina en qué orden se integran las tres áreas. En el ejemplo proporcionado, encontrarás la definición del diseño en la tabla 00_layout.
El segmento relevante del diseño se ve así:
__DB_Layout_/bx_Header.html__
<main>
__DB_Layout_Main__
</main>
__DB_Layout_/bx_Footer.html__
El primer marcador incorpora bx_Header.html. Dentro del elemento main, se inserta la página actualmente llamada a través de __DB_Layout_Main__, en nuestro ejemplo index.html. Luego se sigue bx_Footer.html.
Aunque la definición del diseño incluye las tres áreas, el contenido HTML correspondiente al código PHP de cada área se carga gradualmente en $LayoutHTML.
1. El código PHP del encabezado se ejecuta primero
Abre en el Administrador de archivos el archivo bx_Header.html. A través de Código PHP puedes editar el código PHP de esta área.
El encabezado es la primera área de la página que se carga. Mientras se ejecuta su código PHP, $LayoutHTML contiene únicamente el HTML de bx_Header.html.
PHP-Code: bx_Header.html
$LayoutHTML enthält:
bx_Header.html
Aquí puedes, por ejemplo, reemplazar marcadores de posición del encabezado o preparar la navegación. En este punto, aún no puedes acceder al contenido HTML real de index.html o bx_Footer.html a través de $LayoutHTML.
2. El código PHP de la página principal se ejecuta después
Después del encabezado, el CMS carga la página principal solicitada, aquí index.html, y ejecuta su código PHP. En este momento, $LayoutHTML contiene tanto el código HTML del encabezado como el código HTML de la página principal.
PHP-Code: index.html
$LayoutHTML enthält:
bx_Header.html
index.html
Esto permite que el código PHP de la página principal no solo reemplace sus propios marcadores de posición, sino que también modifique los marcadores de posición ya existentes dentro del encabezado.
Un ejemplo: Si tu encabezado incluye el marcador de posición __HeaderClass__, puedes reemplazarlo desde la página principal:
$LayoutHTML = str_replace("__HeaderClass__","active",$LayoutHTML);
Así, una página principal específica puede marcar su ítem de menú dentro del encabezado ya cargado como activo.
El pie de página no se había cargado en este momento. Por lo tanto, su contenido HTML no se puede modificar de manera confiable a través de $LayoutHTML.
3. El código PHP del pie de página se ejecuta al final
Por último, el CMS carga bx_Footer.html y ejecuta su código PHP. Ahora $LayoutHTML contiene los contenidos HTML de las tres áreas.
PHP-Code: bx_Footer.html
$LayoutHTML enthält:
bx_Header.html
index.html
bx_Footer.html
El código PHP del pie de página puede, por lo tanto, reemplazar marcadores de posición dentro del encabezado, la página principal o el pie de página, siempre que aún estén presentes en ese momento.
Si el HTML ya cargado contiene, por ejemplo, el marcador de posición __MyTitle__, puedes reemplazarlo allí:
$LayoutHTML = str_replace("__MyTitle__","My Custom Title",$LayoutHTML);
De este modo, el pie de página también es adecuado para ajustes comunes que deben realizarse solo después de cargar toda la estructura de la página.
El orden de ejecución de un vistazo
La regla crucial es: PHP solo puede modificar las áreas HTML a través de $LayoutHTML que ya han sido cargadas en ese momento.
1. bx_Header.html
PHP sieht: Header
↓
2. index.html
PHP sieht: Header + Hauptseite
↓
3. bx_Footer.html
PHP sieht: Header + Hauptseite + Footer
Si, por ejemplo, deseas controlar un marcador de posición del encabezado desde una página específica, utilizas el código PHP de esta página principal. Si un marcador de posición debe ser reemplazado en las tres áreas ya cargadas, se recomienda el código PHP del pie de página, que se ejecuta al final.
Importante para las funciones PHP propias
Si defines funciones PHP propias en las diferentes áreas, asegúrate de que la misma función no se defina varias veces durante una sola carga de página. Utiliza nombres de función únicos o verifica antes de la definición si la función ya existe.
if(!function_exists("MyTemplateFunction")) {
function MyTemplateFunction() {
return true;
}
}
Resumen
En nuestro diseño básico, primero se ejecuta el código PHP de bx_Header.html, luego el código PHP de index.html y por último el código PHP de bx_Footer.html. Con cada paso, se amplía el contenido HTML al que puedes acceder a través de $LayoutHTML.
Coloca tu código PHP allí donde ya se han cargado las áreas HTML necesarias: en el encabezado para ajustes específicos del encabezado, en la página principal para contenido propio y el encabezado ya cargado, o en el pie de página para cambios en el diseño ya compuesto.
Preguntas Frecuentes
lo que los clientes nos preguntan con frecuencia
¿En qué orden se ejecutan los scripts PHP?
Primero se ejecuta el código PHP de bx_Header.html, luego el código PHP de la página principal, por ejemplo index.html, y por último el código PHP de bx_Footer.html.
¿Qué áreas HTML contiene $LayoutHTML durante el código PHP del encabezado?
Durante la ejecución del código PHP del encabezado, $LayoutHTML solo contiene el contenido HTML ya cargado de bx_Header.html.
¿Puede la página principal modificar el código HTML del encabezado?
Sí. Cuando se ejecuta el código PHP de la página principal, el encabezado y la página principal ya están incluidos en $LayoutHTML. Por lo tanto, puedes, por ejemplo, reemplazar un marcador de posición creado previamente en el encabezado.
¿Por qué el código PHP del encabezado no puede modificar el pie de página aún?
El pie de página se carga solo después de la página principal. Su contenido HTML, por lo tanto, aún no está disponible en $LayoutHTML durante el código PHP del encabezado.
¿Qué áreas puede modificar el código PHP del pie de página?
En el momento de la ejecución del pie de página, $LayoutHTML ya contiene el encabezado, la página principal y el pie de página. Los marcadores de posición que aún existan en estas áreas pueden ser reemplazados allí.
¿Dónde puedo ver la estructura del diseño básico?
La definición del diseño se muestra en el ejemplo en la tabla 00_layout. Esta incluye bx_Header.html, la página principal actual y bx_Footer.html.
¿Dónde puedo editar el código PHP de bx_Header.html?
Selecciona bx_Header.html en el Administrador de archivos y abre Código PHP.
¿Qué debo tener en cuenta con mis propias funciones PHP en el encabezado y la página principal?
Las funciones propias no deben definirse varias veces con el mismo nombre durante una llamada a la página. Utiliza nombres únicos o verifica antes de la definición con function_exists() si la función ya existe.