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