Aumente sua produção em PHP

Para melhorar a qualidade de seus scripts, tanto os programadores iniciantes quanto os que trabalhan em grandes projetos devem usar a filosofia do dividir para conquistar.
Leia este artigo e aumente a manutenibilidade de seus scripts em até 40% e a produção em até 30%.

[ Hits: 23.804 ]

Por: Adilson Santos da Rocha em 26/06/2003


Criando uma biblioteca



Em um projeto normalmente algumas operações se repetem várias vezes, em projetos web algumas operações realmente são repetitivas, tais como preencher os options de um select com dados de uma tabela, conversões de datas, etc..

Então crie um arquivo .php (de preferência em uma pasta chamada utilidades ou funções) com o nome de biblioteca.php (os nomes de pastas e arquivos podem ser o de sua preferência), com essas funções:

<?php
function select($tabela, $valor, $texto, $ordem, $filtro, $selecionado) {
   global $conexao;
   if($texto=="") {
      $texto=$valor;
   }

   if($ordem=="") {
      $ordem=$valor;
   }

   $sql="SELECT $valor,$texto FROM $tabela $filtro ORDER BY $ordem";
   print"$sql \n";
   $options=mysql_query($sql,$conexao);
   while($dados=mysql_fetch_row($options)) {
      if($dados[0]==$selecionado){
         print"<option value=\"$dados[0]\" selected>$dados[1]</option>\n";
      }
      else {
         print"<option value=\"$dados[0]\">$dados[1]</option>\n";
      }
   }  
}
?>

Esta função preenche os options de uma select de acordo com os parâmetros.
  • $tabela --> tabela do banco de dados que vai prover os valores (o interessante desta função é que os parâmetros podem ser mais de um, por exemplo, $tabela poderia ser passado como "pais,regiao" e ela selecionaria os dados destas duas tabelas.
  • $valor --> campo que será o value dos option
  • $texto --> texto dos options
  • $ordem --> campo que ordenara a pesquisa
  • $filtro --> filtro que filtrará as informações na tabela (se você estivesse chamado com $tabela na descrição acima poderia passar o seguinte filtro "where pais='BRASIL' AND regiao.pais='BRASIL'"
  • $selecionado --> ítem que por padrão é selecionado na select
  • global $conexao --> $conexao deve ser a variável de conexão com o mySQL
Em um contexto você poderia chamar esta função assim:

<select name="estado">
<?php
  options($UF, SIGLA, DESCRICAO, DESCRICAO, "", "PR");
?>
</select>

e então preencheria os options com os dados da tabela UF, os valores seriam as siglas e organizados por descrição e PR seria o estado padrão.

Bom, para resumir, você cria várias funções dentro deste arquivo depois dá um include nele e ai é só usar as funções.

Na próxima semana colocarei uns scripts com uma biblioteca com várias funções para usar em seus projetos, então se você é um iniciante ou trabalha em projetos grandes, faça sempre isto, crie bibliotecas com funções.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Criando uma biblioteca
   3. Conclusão
Outros artigos deste autor

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Engenharia de Software - Fazer melhor o software e fazer o software melhor

PDO - Introdução e conceitos

Leitura recomendada

Trabalhando conteúdo dinâmico com Smarty

Usando Blocos Dinâmicos com a Classe FastTemplate (Parte 1)

Relatórios com PHP e XSLT - Conceitos iniciais e utilização básica

Polimorfismo e PHP 5

Utilizando PEAR

  
Comentários
[1] Comentário enviado por gustavo_marcon em 26/06/2003 - 16:37h

Olá, a criação de bibliotecas é realmente muito útil e facilita a vida, mas devemos também tomar cuidados para não dividar cada coisa em uma biblioteca pois no final, adionando todos arquivos no arquivo principal o tráfego do site aumenta e muito, tornando o site mais lento. Experiencia própria... heheeh. Muito bom o artigo

[2] Comentário enviado por asrocha em 26/06/2003 - 16:59h

Pessoal no parte de criando uma biblioteca exste a seguinte lina de código
print"$sql \n";
isto é apenas para fins de depurassão, coso você queira ver qual a instrução sql está sendo executada. E deve ser retirada após constatar que esta tudo ok.


[3] Comentário enviado por GrupoFimdeprova em 11/08/2004 - 07:58h

Adicionar toda a biclioteca de functions via Include não aumentam o tráfego do site.
Podema apenas aumentar o processamento utilizado pelo server.

[4] Comentário enviado por thifacco em 01/09/2006 - 07:52h

Mt bom o artigo! Parabéns!
Em casos de usar vários selects em um formulário, isso ajuda e mt!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts