Classe para implementar Breadcrumb automático
Depois de utilizar por muitas vezes a função breadcrumb, resolvi desenvolver esta classe breadcrumb automático, para integrar aos meus projetos orientados a objeto.
A implementação da classe breadcrumb segue um padrão bem simples, ao contrário de algumas classes que vi para a mesma finalidade.
Partes que compõem a classe
Propriedades
private: $current_url: armazena a url que está no endereço do navegador;
private: $protocol: armazena o protocolo de navegação, testados HTTP e HTTPS;
private: $separator: o separador dos crumbs;
private: $crumbs: array para armazenar os crumbs;
private: $html: HTML de saída gerado pela classe;
Métodos
public: set(): útil para criar breadcrumbs personalizados;
public: get(): resgatas os crumbs gerados pela classe;
public: getProtocol(): resgata o protocolo de navegação;
public: getCurrentUrl(): resgata o URL atual no endereço do navegador, sem o protocolo;
public: fragmentUrl(): particiona um URL para criar crumbs;
private: makeCrumbs(): confecciona os crumbs e gera o HTML de saída;
public: out(): utilizado para imprimir o HTML gerado;
Implementação
Implementação básica
A classe breadcrumb exige apenas que seja instanciada e faça uma chamada ao método out(). Veja abaixo:
<?php
$crumb = new Breadcrumb();
$crumb->out();
?>
Implementando os breadcrumbs no cabeçalho e rodapé
Os breadcrumbs são mostrados antes e após o conteúdo da página. Esta maneira de implementação é útil para páginas com conteúdo longo, ajudando o usuário a se orientar.
<?php
$crumb = new Breadcrumb();
$crumb->out();
/* Conteúdo da página aqui */
$crumb->out();
?>
Criando breadcrumbs personalizados
Em alguns casos o URL não é muito amigável, causando um comportamento idesejado nas funcionalidades da classe. Neste caso o ideal é personalizarmos nossos crumbs, passando os parâmetros desejados. Para isso utiliza-se o método set() com um array de dados.
<?php
$crumb = new Breadcrumb();
$crumb->set( array(
"www.dominio.com.br"=>"Home",
"noticias" =>"Notícias",
"" =>"Título da notícia"
) );
$crumb->out();
?>
Personalizando o separador dos crumbs
A classe implementa o > como separador padrão dos breadcrumbs, mas isso não é problema, pois podemos personalizá-lo com facilidade. No exemplo que se segue, mostra-se a utilização de uma imagem como separador:
<?php
$crumb = new Breadcrumb('<img src="images/crumb.jpg" alt=">>" />');
$crumb->out();
?>
Download
Faça o download da Classe Breadcrumb versão 1.0.2.
Download