O HTML 5 ainda está em fase de desenvolvimento, porém, já estão previstas várias melhorias. Algumas destas novidades estão relacionadas à criação de formulários. Vamos listar algumas delas, lembrando que estas informações estão sujeitas a mudanças.
O HTML 5 ainda está em fase de desenvolvimento, porém, já estão previstas várias melhorias. Algumas destas novidades estão relacionadas à criação de formulários. Vamos listar algumas delas, lembrando que estas informações estão sujeitas a mudanças.
É muito comum realizar consultas no Banco de Dados que esperam receber no máximo uma linha de resultado. Por exemplo, durante a autenticação de um usuário (log-in), para recuperar o registro do BD e comparar a senha com aquela informada no formulário.
Nestes casos, pode ser útil incluir a cláusula "LIMIT", implementada por diferentes SGBDs (por exemplo, MySQL e PostgreSQL).
JSON (JavaScript Object Notation) é um mecanismo de codificação/decodificação de valores para intercâmbio de dados. Ele é nativo da linguagem JavaScript, mas outras linguagens dão suporte ao mecanismo em função de sua simplicidade. PHP possui uma extensão que consegue codificar/decodificar valores de JSON para os tipos correspondentes do PHP e vice-versa. O funcionamento é semelhante ao visto nas funções serialize e unserialize, a diferença é que a linguagem JavaScript compreende um pacote codificado com JSON nativamente, mas não compreende um pacote codificado com serialize nativamente.
Já falamos sobre Unicode, e sabemos que os símbolos UTF-8 podem precisar de 1 a 4 bytes devido ao número de símbolos definidos pela tabela Unicode e pelo funcionamento do algoritimo de codificação/decodificação UTF-8.
Para ajudar em algumas operações com strings com texto em UTF-8, pode ser necessário utilizar um recurso extra. A seguir, são disponíveis algumas funções para trabalhar com UTF-8:
Judy Array é uma extensão Pecl (código em C que possui interface para utilização em PHP) que implementa arrays associativos com os benefícios de escalabilidade, alta performance e eficiência no uso de memória.
HTML é uma linguagem baseada em tags. Estas tags são definidas através de caracteres reservados (símbolos "<" e ">"). Além disso, as tags podem conter atributos definidos na forma: nome_do_atributo="valor" ou nome_do_atributo='valor'.
Com o uso de caracteres reservados, existe a necessidade de um mecanismo para representar estes mesmos caracteres fora do contexto nos quais são reservados. Ou seja, se desejamos mostrar um sinal de menor num documento HTML, precisamos representá-lo de outra forma, caso contrário, o interpretador de HTML pode achar que é um caractere reservado indicando o início de uma nova tag. O mecanismo que permite representar caracteres no HTML é chamado de HTML entities (ou "Entidades HTML").
Em sistemas que envolvem upload de um número indefinido de arquivos, é possível que o sistema armazene o arquivo no próprio Banco de Dados ou que ele armazene em algum diretório reservado para arquivos submetidos.
O primeiro caso normalmente não exige que os arquivos tenham nomes únicos (exceto por alguma restrição do sistema). No segundo caso, independente da forma como os diretórios são organizados, é necessário garantir que um arquivo tenha um nome único dentro de um diretório.
Sistemas Dinâmicos Web normalmente são repletos de formulários. Em alguns deles, é útil que o navegador ofereça sugestões de preenchimento automático baseado no histórico de preenchimento de determinado campo. Normalmente os navegadores gravam estes tipos de informação de acordo com o valor do atributo "name" do input de texto (e, talvez, de acordo com a URL em que o campo foi gerado).
Porém, em alguns campos, não desejamos este recurso por uma questão de segurança e/ou confidencialidade.
Algumas funções em PHP possuem um número indefinido de parâmetros. Por exemplo: printf, onde o primeiro parâmetro é o "formato" e os demais são definidos de acordo com o valor do formato.
Para fazer uma função com número indefinido de parâmetros, basta usar algumas funções especiais do PHP:
Em PHP, você pode criar variáveis estáticas através da palavra chave static.
Basicamente, variáveis estáticas são criadas dentro de funções para armazenar valores que poderão ser recuperados (e atualizados) quando a função for chamada outra vez.