Artigos

Categorias

Assine o feed Assine o feed

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina
Qui 27 Set 2007

URLs amigáveis utilizando o MOD_REWRITE

por Fabio Gouveia às 13:56:15

A técnica de manipulação de URL utilizando o MOD_REWRITE, ou muitas vezes chamada de URLs amigáveis, está sendo amplamente utilizada em sites de blogs e notícias entre outros por facilitar a memorização da URL pelo visitante do site e também por facilitar a indexação dos artigos pelas ferramentas de buscas como o GoogleBot.

Esta técnica permite ao desenvolvedor maior flexibilidade e facilidade na criação e manutenção do site. As configurações do MOD_REWRITE são feitas diretamente no arquivo .htaccess e dependem da configuração do arquivo httpd.conf, que é o arquivo de configurações do servidor Apache.

Para ilustrar a idéia de URLs amigáveis temos as duas URLs abaixo sendo a primeira a URL padrão utilizada em sites PHP pelo mundo todo, a segunda é a URL amigável que aponta para a mesma página da primeira URL. Então, qual delas você prefere?

#1: http://www.seusite.com.br/artigos.php?cod=33&pag=2
#2: http://www.seusite.com.br/artigos/33/2

Se você gostou do resultado então continue lendo que agora eu vou mostrar como você pode implementar o MOD_REWRITE em seu site.

Começaremos editando o arquivo de configurções do Apache, o httpd.conf. Neste arquivo vamos habilitar o módulo de reescrita dos diretórios e para isso siga os passos:

Localize as seguintes linhas neste aquivo: (note que elas podem não estar uma abaixo da outra)

#LoadModule rewrite_module modules/mod_rewrite.so
#AddModule mod_rewrite.c

Ao encontrar estas linhas remova o # (este que é o caracter de comentário do arquivo). Caso Não encontre estas linhas no arquivo, adicione-as.

Agora localize no arquivo de configuração as seguintes linhas:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

Localizada as linhas, substitua a palavra None por All, isso irá permitir a reescrita de diretórios. Agora essas linhas devem ter ficado da seguine maneira:

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

Após realizadas as operações vamos salvar o arquivo e reiniciar o servidor Apache, para que as novas configurações entrem em funcionamento.

Agora vamos criar o arquivo .htaccess, note que este arquivo não tem um nome, somente uma extensão. É este arquivo que manipula as propriedades do diretório atual e de seus subdiretórios. Começaremos o arquivo com a instrução: "RewriteEngine on".

#Só executa se o módulo estiver carregado no servidor
<IfModule mod_rewrite.c>
    #habilitando o módulo de reescrita
    RewriteEngine On
    #Criando a regra de reescrita
    RewriteRule ^artigo/([^/]*)(/([^/]*)/?)?$ artigo.php?cod=$2&pag=$4 [L]
</IfModule>

Coloque este arquivo na raiz do seu site.

O padrão utilizado para o comando RewriteRule é o seguinte:

RewriteRule URL_VIRTUAL URL_FÍSICA

A URL_VIRTUAL é a digitada no navegador, que será reescrita de acordo com uma expressão regular. A presença do [L] no final da linha indica que se a expressão digitada no navegador encaixar na espressã do RewriteRule ele para por ali, se não tiver este [L] o servidor continua testando pra ver se encaixa em mais alguma outra regra.

Prontinho, agora o URL amigável já deve estar funcionando no seu site, no padrão de URL mostrado no início deste artigo. Agora você precisa testar no arquivo artigo.php se as variáveis $cod e $pag estão vazias, para evitar que apareça algum erro.

Gostaria de adicionar aos favoritos?

   del.icio.us  digg  reddit  netscape  furl  technorati  mister wong 
Fim artigo
Seg 11 Jun 2007

Documentação utilizando PHPDoc

por Fabio Gouveia às 14:36:12

Documentar bem um código é essencial para o desenvolvimento e manutenção de projetos, principalmente quando esses projetos têm uma equipe de desenvolvimento por trás.

Para projetos em PHP existe uma poderosa ferramenta, o PHPDoc, que é baseado no JAVADoc (ferramenta de documentação da Sun). O objetivo desta ferramenta é padronizar a documentação dos códigos criados em PHP.

O PHPDoc é um projeto Open Source e é distribuído sobre PHP Licence, o que significa que você pode utilizá-lo comercialmente em seus projetos.

Como o PHPDoc funciona?

Basicamente o PHPDoc lê todo o código fonte do projeto procurando por tags especiais (segue uma lista logo abaixo). Com base nessas tags a ferramenta cria a documentação do projeto em diversos formatos como: chm (Windows help), html, pdf, xml.
As tags sempre devem iniciar com @(arroba) dentro dos comentários. Estes comentários, para serem legíveis para o PHPDoc, seguem o seguinte modelo:

/**
* Comentário
* @…
*/

Segue a lista com a maioria das tags aceitas pelo PHPDoc:

  •@access - controle de acesso para um elemento. Se for definido como private o elemento não constará na documentação
  •@author - utilizado para indicar o autor de qualquer elemento que possa ser documentado (variáveis globais, funções, classes, métodos, etc.). Nesta tag pode-se adicionar o e-mail entre os sinais de < e >
  •@category - especifica a categoria para organizar os pacotes dos elementos documentados
  •@copyright - informações de copyright do elemento.
  •@deprecated - indica que o elemento está depreciado, sendo assim não deve ser utilizado por pode ser removido posteriormente
  •@example - inclui um arquivo externo de exemplo com sintaxe destacada
  •@final - indica que um método de uma classe nunca deve ser sobrescrito em uma classe filha
  •@filesource - cria a referência cruzada para o arquivo que contem o código fonte
  •@global - documenta uma variável global. Também é utilizado para métodos/funções
  •@ignore - previne o elemento de ser documentado, normalmente utilizado para elementos duplicados
  •@internal - define a documentação como privada, ou seja interna ao projeto
  •@licence - exibe o link para a url que referencia a licença de uso
  •@link - exibe um link na documentação
  •@package - define um pacote para agrupar as classes ou funções
  •@param - documenta um parâmetro da função
  •@return - documenta o retorno de uma função
  •@see - exibe um link para a documentação de um elemento
  •@since - indica desde qual versão o elemento foi adicionado ao projeto
  •@static - documenta uma variável ou método estático
  •@todo - indica as mudanças que serão realizadas no futuro
  •@version - indica a versão do elemento
  •inline {@internal}
  •inline {@inheritdoc}
  •inline {@link}

Bom agora que já conhecemos a maioria das tags do PHPDoc fica extremamente fácil aplicar esse padrão de documentação visando o bom entendimento e relacionamento entre as partes envolvidas na codificação do projeto.

O que vou mostrar agora é um exemplo de código que será documentados pelo PHPDoc.

<?
/**
* Classe utilizada para o envio de e-mail
*
* @author Fabio Frech Gouveia
* @licence GNU FDL 2007 - Gouveia.eng.br
* @version v 1.0 07/03/2007 19:14:46
* @package br.eng.Gouveia.Contato
* @access public
* @todo implementar o método de confirmação de recebimento
*/
class sendEmail {
    /**
    * Variáveis com o nome do usuário remetente
    * @access private
    * @name $nomeRemetente
    * Variáveis com o e-mail do usuário remetente
    * @access private
    * @name $emailRemetente
    */
    var nomeRemetente = ‘’;
    var emailRemetente = ‘’;
    /**
    * Construtor da classe
    * @param $nome O nome do remetente dos e-mails
    * @param $email O email do remetente dos e-mails
    */
    function sendEmail($nome, $email) {
        $this->nomeRemetente = $nome;
        $this->emailRemetente = $email;
    }
    /**
    * Método
    * @name sendEmail
    * @param $destinatario O nome do destinatário que receberá o e-mail
    * @param $conteudo Texto que formará o corpo do e-mail
    */
    function sendEmail($destinatario, $conteudo) {
    }
}
?>

A instalação do PHPDoc é muito tranqüila, segue o link com o tutorial de instalação: http://manual.phpdoc.org/HTMLSmartyConverter/HandS/ric_INSTALL.html

Bom é isso pessoal, documentar é uma coisa simples mas de suma importância para o desenvolvimento de nossos projetos. Espero que tenham gostado do artigo e que passem a utilizar esse método de documentação em seus projetos.

Referência: PHPDocumentator (http://manual.phpdoc.org/)

Gostaria de adicionar aos favoritos?

   del.icio.us  digg  reddit  netscape  furl  technorati  mister wong 
Fim artigo
Copyright © 2012 — Engº Fabio Frech Gouveia. site v1
Powered by PHP Using IE7 JS CSS2:auto Using TableLess Using Prototype JS Framework Valid XHTML 1.0 Valid CSS