URLs em CodeIgniter

Detalhes sobre as URLs geradas por CodeIgniter para as páginas das aplicações, que sempre são amigáveis a buscadores.

Por Miguel Angel Alvarez - Tradução de Celeste Veiga


Publicado em: 24/5/11
Valorize este artigo:
Um dos pontos que devemos conhecer antes de começar a trabalhar com CodeIgniter são os endereços URL que utiliza este popular framework PHP para cada uma das páginas das aplicações PHP que criamos ao utilizá-lo. A verdade é que é um ponto que realmente resulta transparente para nós, posto que as URL se geram automaticamente à medida que vamos programando o website, mas é bom comentar algumas coisas importantes.

Este é um artigo do Manual de CodeIgniter que estamos publicando em CriarWeb.com, e por isso, para entendê-lo, haverá que ler algum dos artigos anteriores.

URLs amigáveis a buscadores

Um dos pontos fortes deste framework PHP é que as URL se apresentam sempre em um formato amigável aos buscadores. Isto quer dizer que qualquer motor de busca pontuará positivamente, a priori, os endereços das páginas. Do mesmo modo, os endereços terão uma forma fácil de entender e recordar pelos seres humanos.

Em CriarWeb.com, nos manuais de posicionamento y promoção em buscadores falamos repetidas vezes a cerca das URL amigáveis, mas para aqueles que não saibam, estas são URL que não costumam ser bem pontuadas pelos buscadores:

www.midominio.com/articulos.php?id=32
www.midominio.com/articulos.php?nombre=miarticulo

Se observarmos, temos uma página, artigos.php, à que se passam diferentes parâmetros. Porém, os buscadores muitas vezes interpretam como sendo a mesma página. Bom, na realidade isto não tem mais importância, porque com CodeIgniter as URL têm muito melhor arquitetura, com formas como estas:

www.midominio.com/articulos/muestra/32
www.midominio.com/controlador/funcion/parametro

As diferenças saltam à vista, tanto para nós humanos como para motores de busca como Google. E o bom é que não temos que fazer nada para conseguir este tipo de endereços.

Nota: Há um pequeno matiz que comentaremos mais tarde neste artigo que é que em principio todas as URL em CodeIgniter têm o nome de uma página chamada index.php, porém isto é algo que podemos fazer desaparecer se sabemos configurar o framework.

Query String desativado

Em CodeIgniter em principio está desativada a possibilidade de envio de variáveis através da URL, o que se conhece em inglês como Query String. Ou seja, endereços nas que se enviam variáveis através das URL que dizíamos que eram pouco amigáveis a buscadores, não funcionarão.

Se desejarmos, podemos fazer com que CodeIgniter reconheça as variáveis enviadas pela URL, mas como, em principio, o sistema de URLs amigáveis a buscadores que implementa o framework está pensado para poder evitar o problemático Query String, seu uso está desativado.

Segmentos da URL e o modelo - visão - controlador

Cada uma das partes da URL das aplicações criadas com o framework serve para identificar que controlador, do já explicado Modelo - Visão - Controlador de CodeIgniter, se vai encarregar do processamento da página, assim como da função que se invocará e dos parâmetros que serão enviados a ela . Por exemplo:

aplicacioncodeiginter.com/facturacion/editarempresa/5610

  • aplicaçaocodeiginter.com é o nome do suposto domínio onde temos CodeIgniter instalado.
  • faturaçao é o nome do controlador que se encarregará de processar a solicitação.
  • editarempresa é o nome da função que haverá dentro do controlador e onde estará o código que execute e gere a página. Embora, para ser exatos, como o controlador está em programação orientada a objetos, em vez de função, deveríamos chamar-lhe método.
  • Por último, 5610, é o parâmetro que se passa à função editarempresa, que servirá neste caso para que editarempresa saiba qual é a empresa que se deseja editar. Se queremos ou necessitamos enviar vários parâmetros a esta função, e não só o identificador da empresa a editar, poderemos colocá-los a seguir, separados por barras.
Nota: Isto talvez resulte agora um pouco complicado, porque ainda não temos uma ideia definida de como são os controladores, porém dentro de pouco vocês poderão ver tudo mais claro.
CodeIgniter coloca à nossa disposição uma classe para trabalhar com URLs chamada URI Class e uma biblioteca chamada URL Helper que contém funções para trabalhar facilmente com URLs e com dados enviados nas mesmas. Nestas bibliotecas há funções tão interessantes como site_url() que serve para que o próprio CodeIgniter crie uma URL dentro do site a partir de um parâmetro que lhe passemos. Outro exemplo é base_url(), que simplesmente retorna a URL raiz onde está nossa aplicação CodeIgniter.

Tudo passa por index.php

Em CodeIgniter existe um index.php que está na raiz do framework que se encarrega das funções de rota para o controlador que se deve encarregar de processar a solicitação. Por isso, de maneira predeterminada em CodeIgniter veremos que as URLs incluem o nome do arquivo index.php. Este comportamento pode ser configurado.

No próximo artigo explicaremos como eliminar este index.php nas URLs de CodeIgniter, algo que simplificará os endereços.

Adicionar um sufixo às URL

Outro dos detalhes que podemos fazer com CodeIgniter, que podem personalizar ainda mais nossos endereços URL, é acrescentar um sufixo, que desejarmos, ao final de todas as URL que façam parte do framework. Por exemplo, podemos querer que todas as URL terminem em .html ou em .php, ou como desejarmos. Isto pode ser feito através dos arquivos de configuração do framework.

A ideia é que uma URL como esta:

http://dom.com/index.php/blog/post/cualquier-articulo

Passe a ser um endereço como este outro:

http://dom.com/index.php/blog/post/cualquier-articulo.html

Para isto, editamos o arquivo de configurações gerais: system/application/config/config.php e temos que buscar a variável url_suffix e colocar o valor que desejemos, por exemplo:

$config['url_suffix'] = ".html";





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato