Baixe o app agora e teste gratuitamente por 10 dias
Moeda Selecionar idioma Selecionar região

Ordem de execução do PHP: Cabeçalho, página principal e rodapé

Este tutorial para desenvolvedores mostra, com um layout básico usando bx_Header.html, index.html e bx_Footer.html, quando os diferentes scripts PHP são executados. Você aprenderá como o conteúdo de $LayoutHTML é ampliado passo a passo e onde pode fazer alterações dependentes da página ou globais.

Pré-requisitos e objetivo

Para este tutorial de desenvolvimento, você deve saber como o CMS bluetronix compõe uma página a partir do seu layout, do cabeçalho, da página principal e do rodapé. Vamos mostrar a você, em que ordem os scripts PHP dessas áreas são executados e quais partes de $LayoutHTML já estão carregadas.

No exemplo, o layout básico consiste nos arquivos do CMS bx_Header.html, index.html e bx_Footer.html. A página principal index.html representa a página HTML chamada.

O layout básico determina a ordem em que as três áreas são incluídas. No exemplo mostrado, você encontra a definição do layout na tabela 00_layout.

O trecho relevante do layout é assim:

__DB_Layout_/bx_Header.html__
<main>
   __DB_Layout_Main__
</main>
__DB_Layout_/bx_Footer.html__

O primeiro marcador inclui bx_Header.html. Dentro do elemento main, o __DB_Layout_Main__ inclui a página atualmente acessada, no nosso exemplo index.html. Em seguida, é incluído bx_Footer.html.

Embora a definição do layout contenha as três áreas, o conteúdo HTML específico para o código PHP de cada área é carregado gradualmente em $LayoutHTML.

1. O código PHP do cabeçalho é executado primeiro

Abra no Gerenciador de Arquivos o arquivo bx_Header.html. Através do Código PHP, você pode editar o código PHP desta área.

O cabeçalho é a primeira área da página a ser carregada. Enquanto seu código PHP é executado, $LayoutHTML contém apenas o HTML de bx_Header.html.

PHP-Code: bx_Header.html

$LayoutHTML enthält:
   bx_Header.html

Aqui você pode, por exemplo, substituir marcadores do cabeçalho ou preparar a navegação. O conteúdo HTML real de index.html ou bx_Footer.html ainda não pode ser acessado por $LayoutHTML neste ponto.

2. O código PHP da página principal é executado em seguida

Após o cabeçalho, o CMS carrega a página principal chamada, aqui index.html, e executa seu código PHP. Nesse momento, $LayoutHTML contém tanto o código HTML do cabeçalho quanto o código HTML da página principal.

PHP-Code: index.html

$LayoutHTML enthält:
   bx_Header.html
   index.html

Assim, o código PHP da página principal pode substituir não apenas seus próprios marcadores, mas também alterar marcadores já existentes dentro do cabeçalho.

Um exemplo: se seu cabeçalho contém o marcador __HeaderClass__, você pode substituí-lo a partir da página principal.

$LayoutHTML = str_replace("__HeaderClass__","active",$LayoutHTML);

Dessa forma, uma determinada página principal pode, por exemplo, marcar seu item de menu dentro do cabeçalho já carregado como ativo.

O rodapé ainda não foi carregado neste momento. Portanto, seu conteúdo HTML ainda não pode ser alterado de maneira confiável através de $LayoutHTML.

3. O código PHP do rodapé é executado por último

Por último, o CMS carrega bx_Footer.html e executa seu código PHP. Agora $LayoutHTML contém os conteúdos HTML de todas as três áreas.

PHP-Code: bx_Footer.html

$LayoutHTML enthält:
   bx_Header.html
   index.html
   bx_Footer.html

O código PHP do rodapé pode, portanto, substituir marcadores dentro do cabeçalho, da página principal ou do rodapé, desde que eles ainda estejam presentes neste momento.

Se o HTML já carregado, por exemplo, contém o marcador __MyTitle__, você pode substituí-lo lá:

$LayoutHTML = str_replace("__MyTitle__","My Custom Title",$LayoutHTML);

O rodapé também é adequado para ajustes comuns que devem ser realizados somente após o carregamento de toda a estrutura da página.

A ordem de execução em um relance

A regra decisiva é: O PHP pode alterar os setores HTML através de $LayoutHTML apenas os que já foram carregados até aquele momento.

1. bx_Header.html
   PHP sieht: Header
        ↓
2. index.html
   PHP sieht: Header + Hauptseite
        ↓
3. bx_Footer.html
   PHP sieht: Header + Hauptseite + Footer

Se você deseja controlar um marcador de cabeçalho a partir de uma determinada página, deve usar o código PHP dessa página principal. Se um marcador deve ser substituído em todas as três áreas já carregadas, o código PHP do rodapé, que é executado por último, é o mais indicado.

Importante para funções PHP próprias

Se você definir funções PHP próprias nas diferentes áreas, fique atento para que a mesma função não seja definida várias vezes durante uma chamada de página. Escolha nomes de funções únicos ou verifique antes da definição se a função já existe.

if(!function_exists("MyTemplateFunction")) {
   function MyTemplateFunction() {
      return true;
   }
}

Resumo

Em nosso layout básico, primeiro o código PHP de bx_Header.html é executado, depois o código PHP de index.html e por último o código PHP de bx_Footer.html. Com cada passo, o conteúdo HTML ao qual você pode acessar através de $LayoutHTML se expande.

Coloque seu código PHP onde as áreas HTML necessárias já estão carregadas: no cabeçalho para ajustes específicos do cabeçalho, na página principal para conteúdo próprio e no cabeçalho já carregado ou no rodapé para alterações no layout já composto.

FAQ

o que os clientes nos perguntam frequentemente

Em que ordem os scripts PHP são executados?

Primeiro, o código PHP de bx_Header.html é executado, em seguida, o código PHP da página principal, por exemplo, index.html, e por último, o código PHP de bx_Footer.html.

Quais áreas HTML o $LayoutHTML contém durante o código PHP do cabeçalho?

Durante a execução do código PHP do cabeçalho, $LayoutHTML contém apenas o conteúdo HTML já carregado de bx_Header.html.

A página principal pode alterar o código HTML do cabeçalho?

Sim. Quando o código PHP da página principal é executado, o cabeçalho e a página principal já estão incluídos em $LayoutHTML. Assim, você pode, por exemplo, substituir um espaço reservado anteriormente criado no cabeçalho.

Por que o código PHP do cabeçalho ainda não pode alterar o rodapé?

O rodapé só é carregado após a página principal. Portanto, seu conteúdo HTML ainda não está presente em $LayoutHTML durante o código PHP do cabeçalho.

Quais áreas o código PHP do rodapé pode alterar?

No momento da execução do rodapé, $LayoutHTML já contém o cabeçalho, a página principal e o rodapé. Os espaços reservados ainda existentes nessas áreas podem ser substituídos.

Onde posso ver a estrutura do layout básico?

A definição do layout é exibida no exemplo na tabela 00_layout. Ela inclui bx_Header.html, a página principal atual e bx_Footer.html.

Onde posso editar o código PHP de bx_Header.html?

Selecione bx_Header.html no Gerenciador de Arquivos e abra Código PHP.

O que devo considerar ao criar funções PHP próprias no cabeçalho e na página principal?

Funções próprias não devem ser definidas várias vezes com o mesmo nome durante uma chamada de página. Use nomes exclusivos ou verifique antes da definição com function_exists() se a função já existe.

CMS