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.

Máscaras Binárias no PHP

Resumo:
Introdução

Máscara binária (máscara de bits ou "bit mask") é um mecanismo usado para armazenar vários valores booleanos em um único campo inteiro e recuperá-los individualmente ou em grupo.

Normalmente, as linguagens de programação que possuem o tipo booleano (bool ou boolean) utilizam um byte (oito bits) para armazená-lo. Apesar de um booleano só precisar de um bit, o byte é usado porque ele é a unidade base das arquiteturas de computadores. Normalmente utiliza-se o valor 00000000 para representar "falso" e o 00000001 para representar "verdadeiro", ou seja, apenas o último bit tem significância.

Logo, para armazenar (por exemplo) 14 valores booleanos, seriam necessários no mínimo 14 bytes. Se estes 14 booleanos fossem armazenados em um inteiro (que normalmente possui 32 bits, que são 4 bytes), usaria apenas 4 bytes.

Interfaces em PHP

Resumo:

"Interface", no Paradigma Orientado a Objetos, representa uma estrutura que especifica um conjunto de métodos que uma família de classes terá. Nesta especificação são informados os nomes dos métodos, visibilidade e os respectivos parâmetros, mas nenhum deles são implementados na interface. Diz-se que uma classe "implementa" uma interface quando ela possui os métodos previstos na interface e declara, explicitamente, implementá-la.

Instalação de Módulos Pear e Pecl

Resumo:
PECL & PEAR

Pear (PHP Extension and Application Repository) é um sistema de pacotes para PHP que oferece ferramentas de alto nível para instalação, remoção ou atualização de pacotes. Basicamente, Pear oferece bibliotecas de código PHP para solução de problemas específicos, como geração de PDF, geração de imagens, manipulação de ID3 de MP3, etc.

Além disso, Pear possui um repositório chamado Pecl (PHP Extension Community Library), que é voltado para a instalação de extensões compiladas do PHP. A versão 5 de PHP é escrita em linguagem C, e foi proje­tada para incorporar novos módulos escritos em C. Com isso, é possível escrever e/ou utilizar código de alta performance para ser utilizado por scripts em PHP. Nada impede um programador de criar suas ferramentas usando a própria linguagem PHP, porém, como PHP não oferece recursos como ponteiros de C, alguns tipos de operações podem se tornar mui­to mais lentas.

Array com tamanho fixo no PHP (SplFixedArray)

Resumo:

PHP oferece nativamente o tipo array, que possui bastante flexibilidade. As principais características do array de PHP é que ele permite índices inteiros ou alfanuméricos, e é auto-redimensionável, ou seja, cresce ou diminui conforme elementos são adicionados ou removidos.

Quem já trabalhou com linguagens mais baixo nível, como C ou C++, deve saber que manter o controle sobre um array auto-redimensionável implica em perda de performance em função da realocação de memória. Para prover uma solução mais restrita e mais rápida para PHP, foi criada a classe SplFixedArray, disponível a partir da versão 5.3 de PHP. Ela só aceita inteiros como índices (de zero até o tamanho menos um) e tem tamanho fixo (definido na criação do objeto), embora possa ser redimensionado a qualquer momento. Quanto menos redimensionamento é feito, mais ela tende a ser mais rápida que um array convencional.

Percorrer Diretórios e Arquivos com PHP

Resumo:
Busca em Diretório

Percorrer diretórios e arquivos em PHP é muito simples. Vamos ver 5 formas para se fazer isso, cada uma com suas características e limitações:

Aritmética de Datas com PHP

Resumo:
Introdução
Calendário

Aritmética de datas é o processo de realizar contas utilizando datas e intervalos de tempo.

O fator mais complicante nestes tipos de operações é que data não é algo tão exato quanto se imagina. Tudo por conta que a Terra leva 365,2422 dias para completar uma volta inteira no Sol. Para entender com detalhes, leia esta explicação.

Heredoc e Nowdoc do PHP

Resumo:

Heredoc e Nowdoc (também chamados de "here document" e "now document") são duas formas de se representar strings em PHP (assim como existe a representação usando delimitadores com aspas simples e com aspas duplas).

Zend Certified Engineer - PHP

Resumo:

Zend Certified Engineer (ZCE) é o título dado às pessoas que foram aprovadas no exame de certificação oferecido pela empresa Zend, que mantem a linguagem PHP. Existe a certificação de PHP 5 e do Zend Framework.

Ainda existem menos de 100 pessoas certificadas em PHP 5 no Brasil. Porém, o título é uma forma de comprovar um certo domínio do profissional sobre a linguagem. Isso ajuda empresas a selecionar candidatos.