Autor: Webmaster
O PHP é uma linguagem poderosa e muito flexível que pode dar uma ajuda preciosa e eficiente à programação, mesmo fora das necessidades das aplicações do tipo cliente / servidor. Há muitas tarefas que são entregues ao ‘Javascript’ que poderiam em múltiplas circunstâncias com maior simplicidade ser feitas em PHP. Neste caso vou dar um exemplo relativo à configuração de Menus flexíveis.
Quem faz sites sabe que normalmente é preciso procurar soluções com um código simplificado e “clean”, mas ao mesmo tempo poderosas, que permitam rapidamente propagar eventuais alterações que sejam necessário implementar. Uma das ideias que procuro usar neste sentido é criar files únicas de “header” e “footer” que são carregadas por todas as páginas através de uma instrução do tipo
<?
require_once("header.php");
?>
O que acontece por vezes é que, por exemplo, nesse ‘header’ e ‘footer’ único por vezes encontram-se rotinas, como menus superiores, por exemplo, que seria nalguns casos alterar perante situações de páginas específicas. Aqui explico como resolver este problema de uma forma simples.
Saber a página em que o ‘header’ está a ser chamado é a primeira coisa a fazer. A rotina que costumo utilizar é esta:
<?
$aqui = str_replace('.php','',basename($_SERVER['REQUEST_URI']));
?>
O comando ‘str_replace’ serve apenas para poupar trabalho à frente a digitar, retirando a extensão ‘.php’ ou ‘.html’ do nome dos ficheiros. O comando ‘basename’ por sua vez retira o nome do ficheiro atual do path encontrado em $_SERVER['REQUEST_URI'].
Agora apenas falta editar o Menu Geral no sentido de este conter links e títulos de acordo com a página encontrada.
Desta maneira é possível ter um menu único que tem partes que variam de acordo com o local onde nos encontramos. Podemos fazer tudo em PHP ou então, para maior rapidez, abrir e fechar o código PHP em blocos if… else.
<div id="menusup">
<ul>
<li><a href="index.php" title="Acerca da nossa empresa">
Início</a></li>
<? if ($aqui=='destaques' || $aqui=='edicoes-autor'
|| $aqui=='faks' || $aqui=='links') { ?>
<li><a href="comprar-livros.php"
title="Veja os títulos disponíveis">Livraria On-Line</a></li>
<? } else { ?>
<li><a href="geslogin.php?tipo=adm"
title="Fale connosco">Menu do Back Office</a></li>
<? } ?>
<li style="border-right:none">
<a href="geslogin.php?tipo=cli"
title="Acesso ao Perfil">Login</a></li>
</ul>
Como se pode ver no exemplo acima, sempre que o Menu tiver que ser exibido nas páginas com o nome “destaque”, “edicoes-autor”, etc. o menu é alterado para exibir um link diferente.
Naturalmente poder-se-iam dar exemplos bastante mais elaborados, mas aqui fica a ideia: flexibilidade e simplicidade nos Menus (ou quaisquer outras rotinas…) usando o PHP e a informação obtida através do $_SERVER['REQUEST_URI'].
Por isso a minha sugestão é: pense no PHP para ajudar a resolver muitos dos “pequenos” problemas de programação para o desenvolvimento Web, mesmo rotineiros e de todos os dias.
TAGS: PHP, Programação
Não existem comentários até ao momento. Deixe no quadro a seguir o seu.