sexta-feira, 14 de dezembro de 2007

Informação de Cabeçalho de Componente

À medida que os componentes de software (arquivos) são modificados, deve ser mantido um registro das mudanças feitas (changelog) em cada um deles. Algumas vezes, isso é chamado de histórico de alteração de um componente. A melhor maneira de manter esse registro é um prólogo de comentário padronizado, mantido no início do componente. Ele deve se referir à solicitação de mudança associado à mudança de software.


# Projeto Exemplo Changelog
# Arquivo nomeArquivo.php
#
# Autor: Anderson Dias
# Data de criação: 14/12/2007
#
# Genoma Web
#
# Histórico de alterações
# Versão Modificador Data Arquivo Anterior Mudança
# 0.1 Anderson D. 14/12/2007 nomeArquivoBackup.php URL (Gerenciador de Projeto ou Wiki).
# 0.2 Anderson D. 14/12/2007 nomeArquivoBackup.php Breve descrição da mudança.

quinta-feira, 13 de dezembro de 2007

Formatando Input baseado no seu tipo com CSS

Quando se define um formato para um tipo específico de elemento, todos os seus descendentes irão ficar com a mesma formatação. Isto ocorre, por exemplo, no formato input. Quando se define uma formatação para este elemento, todos os demais que se originam deste (button, checkbox, file, hidden, image, password, radio, reset, submit e text) irão ficar com a mesma formatação, ou seja, se eu defino uma borda de 2 pixels para um input, todos esses demais elementos ficarão com uma borda de 2 pixels.

input { border: 2px; }

Para resolver isto, usa-se seletores de atributos, que individualizam cada elemento do layout, dando características próprias. Sua sintaxe é a seguinte:
input[type="image"] { border: none; }

Neste caso, apenas o input do tipo image não ficará com bordas.

Apesar de ter uma funcionalidade bastante adequada, ela não funciona no IE6!

Overlapping é uma forma de não aninhar corretamente os elementos utilizados na codificação. Embora overlapping não seja uma prática bem vista, é amplamente tolerada pelos navegadores atuais. A seguir a forma correta e a incorreta (overlapping) de aninhar elementos.

Correta:

<p>Parágrafo em <strong>negrito</strong></p>

Incorreta (overlapping):
<p>Parágrafo em <strong>negrito</p></strong>

terça-feira, 11 de dezembro de 2007

Transformando Vetor em String no PHP

Esses dias estava mexendo com um sistema de comércio eletrônico, não me lembro se Itaú ou Banco do Brasil, e precisava pegar o retorno de um POST enviado pelo banco para um arquivo no servidor e enviar esse conteúdo por e-mail para posterior avaliação dos dados. Como não é possível enviar um array por e-mail, usei uma função que transforma um array em uma string. Com isto consegui enviar por e-mail o POST e ver quais os dados que estavam sendo passados!

function vetorString($aux1, $aux2, $vetor)
{
foreach($vetor as $chave => $valor) $vetor2[] = $chave.$aux1.$valor;
return implode($aux2, $vetor2);
}

Com esta função, basta fazer uma variável receber o retorno da função:
$msg = vetorString("=", "&", $_POST);

O retorno de um Array ( [a] => 1 [b] => 2 [c] => 3 ) ficaria a=1&b=2&c=3.