SimpleXML para manipular XML pelo PHP

Resumo:
Introdução

SimpleXML é uma extensão do PHP que permite ler e manipular XML de maneira bastante simples, embora com várias restrições. A principal restrição é que um elemento (tag) só pode conter texto ou outros elementos, nunca texto junto com outros elementos, como ocorre no HTML.

Transformação de Dados

Resumo:

Ao desenvolver uma grande aplicação ou um framework Web, é preciso ter consciência de que precisará trabalhar com camadas e que fará várias conversões entre estas camadas para manter o sistema portável. Vamos observar a imagem abaixo:

Conversão de dados entre camadas do sistema

Apesar de ser possível utilizar a mesma notação para representar números reais no formulário, na aplicação e no BD, pode ser que o usuário esteja em uma localidade que usa uma notação diferente da americana (usada no PHP), e pode ser que o BD não utilize a mesma notação que a aplicação para todos tipos de dados. Portanto, é importante realizar a transformação de dados entre as camadas do sistema.

São Paulo Perl Workshop

II São Paulo Perl Workshop

Dia ocorre a segunda edição do evento "São Paulo Perl Workshop", um evento promovido anualmente pelo grupo São Paulo Perl Mongers. Nesta edição, o evento será aberto com o tema "Desenvolvimento Ágil no Mundo Real" e contará com as presenças internacionais de Larry Wall, Brian D Foy e Brad Fitzpatrick.

Local: Espaço ABM
R. Antonio Comparato, 218 - Campo Belo
São Paulo - SP - Brasil

Telefone para contato: (11) 5534-4333

Informações sobre o evento são disponíveis no site oficial: http://www.perlworkshop.com.br/

Call to undefined function

Resumo:

Sempre surge alguém perguntando o que há de errado com seu PHP quando surge a mensagem "Fatal error: Call to undefined function ... in ... on line ...". Podem ser dois motivos: (i) ou o nome da função foi digitado errado ou (ii) a extensão que define a função não foi carregada.

Web Developer, plugin essencial

Resumo:
inspetor bugiganga
Introdução

Web Developer é um plugin para o navegador Firefox que oferece vários recursos úteis para programadores Web. Este artigo vai apresentar seus principais recursos.

De fato, ao instalar, a impressão que temos é que instalamos um canivete com mil e uma utilidades e nem sabemos por onde começar a utilizar. Aos poucos, descobrimos as de uso mais comum e nos adaptamos para utilizar o que interessa.

Obter Caminhos de Arquivos e Diretórios com PHP

Resumo:

Frequentemente surge uma ferramenta em uma aplicação que precisa recuperar um determinado dado de um caminho completo a um arquivo ou diretório. As vezes precisamos apenas do diretório, ou apenas o nome do arquivo, ou apenas a extensão do arquivo, etc. Frequentemente os programadores utilizam funções como explode, strpos e substr para obter o que querem. De fato, até conseguem, mas nem todos sabem que já existem funções no PHP próprias para isso.

Configurações do PHP

Resumo:
Introdução

PHP é uma linguagem interpretada que permite que sejam configuradas várias diretivas, tanto do core da linguagem quanto das suas extensões. A lista com todas as diretivas da linguagem são mostradas no manual.

Cada diretiva possui um "modo de mudança", que define onde e quando ela pode ser modificada. Por exemplo, algumas só podem ser definidas no arquivo de configurações gerenciado pelo administrador do servidor, por questões de segurança, enquanto outras podem ser alteradas pelo programador na própria aplicação.

Os modos de mudança das diretivas são:

  • PHP_INI_USER - Pode ser modificada com a função ini_set, arquivo .user.ini ou no Registro do Windows.
  • PHP_INI_PERDIR - Pode ser modificada no arquivo php.ini, .htaccess, httpd.conf ou .user.ini.
  • PHP_INI_SYSTEM - Pode ser modificada no arquivo php.ini ou httpd.conf.
  • PHP_INI_ALL - Pode ser modificada em qualquer lugar.

Observação: algumas diretivas pertenciam a um modo de mudança até determinada versão do PHP, mas mudaram para outro modo em outra versão do PHP. Estas informações são apresentadas na lista de diretivas da linguagem.

Formulários no HTML 5

Resumo:
HTML 5

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.

Otimização de consultas SQL usando LIMIT

Resumo:
performance

É 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)

Resumo:
Introdução

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.

Gerando Códigos e Símbolos Unicode pelo PHP

Resumo:

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 Arrays do PHP

Resumo:
Introdução

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 Entities

Resumo:
Introdução

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").

Criar arquivos com nomes únicos em diretórios

Resumo:

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.

Evitando o "autocomplete" de navegadores

Resumo:
Introdução

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.