Para quem acha que criar um código único sem repetições para usar em aplicações com PHP é uma coisa complicada este pequeno script mostra que, na verdade, é bem simples.
Você precisará de códigos únicos para trabalhar com aplicações que gerem pedidos num sistema de vendas ou ordens de serviço, por exemplo.
O maior desafio nesses casos será grantir que o código não se repita porque isso causaria conflitos em sua aplicação.
Imagine se dois ou mais pedidos de compra aparecerem de repente com o mesmo código? Sua aplicação se perderia no processamento e os dados ficariam imprecisos.
Geralmente, para evitar estas horríveis repetições, se usa uma consulta ao banco de dados da aplicação no momento de gerar o código. Ou seja, o sistema gera um código e procura na base de dados se ele já existe. Em caso negativo, o código é considerado válido, do contrário será gerado um novo código e é feita uma nova consulta para verificar.
Mas isso vai deixando sua aplicação muito complexa, claro que existem casos em que isso é necessário. Porém, se sua aplicação não tem lá uma necessidade elevada de requisitos particulares, poderá usar esta solução que eu apresentarei a seguir.
Primeiramente gostaria de deixar claro que o código a seguir não é de minha autoria. Mas faço bastante uso dele há muito tempo depois que o encontrei em um site americano que nem lembro mais.
Se alguém souber o autor, favor avisar.
<?php
function make_seed()
{
list($usec, $sec) = explode(‘ ‘, microtime());
return (float) $sec + ((float) $usec * 10000); //este número define o tamanho do código em caracteres
}
mt_srand(make_seed());
$randval = mt_rand(111,999);
$randval2 = mt_rand(999,111);
$hr = date(‘s’);
$cod = "$randval"."$randval2"."$hr";
A vantagem deste código que elimina a necessidade de consultas à base de dados para validá-lo é que ele usa dados da data atual como dia, mês, ano, hora. Como, em tese, a data não se repete, supomos que o código também não se repita.
Se você sabe uma maneira melhor de escrever este código ou encontrar algum erro, não deixe de se manifestar.
Este foi mais um artigo publicado originalmente em 02 de janeiro de 2010 no meu antigo blog BrasilPHP.net.
Hellston Linhares
Hellston Linhares é um programador experiente e especialista em WordPress, que tem se destacado na área da tecnologia e inovação. Com vasta experiência em programação e desenvolvimento web, Hellston se tornou um profissional reconhecido e respeitado no mercado.
Nascido em Sobral/CE, Hellston mostrou interesse pela tecnologia desde muito jovem, e logo começou a explorar as possibilidades oferecidas pela programação. Ao longo dos anos, ele desenvolveu uma paixão pela criação de soluções web que ajudam as pessoas a resolverem seus problemas de forma eficiente e inovadora.
Com um grande conhecimento em PHP e programação em geral, Hellston se especializou em desenvolvimento de websites e sistemas em WordPress, se tornando um dos principais especialistas no assunto. Além disso, ele também é um expert em servidores e tecnologia de cloud computing, o que o permite oferecer soluções completas e integradas para seus clientes.
No seu blog, Hellston compartilha sua vasta experiência em programação e tecnologia, abordando temas como inovação, marketing digital, programação, PHP, tecnologia e servidores. Suas publicações são sempre muito completas e informativas, oferecendo dicas e insights valiosos para aqueles que desejam aprimorar seus conhecimentos na área.
Com seu comprometimento com a excelência e seu amor pela tecnologia, Hellston Linhares é um exemplo de profissionalismo e dedicação na área de programação e desenvolvimento web. Seu blog é uma leitura obrigatória para todos aqueles que desejam se manter atualizados e informados sobre as tendências e novidades do mercado de tecnologia.