PHP 5 - 1ª edição

Page 1

Guia de Consulta Rรกpida

PHP 5

Juliano Niederauer

Novatec Editora


Guia de Consulta Rápida PHP 5 de Juliano Niederauer Copyright2004 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.

ISBN: 85-7522-049-7 2ª reimpressão – Novembro/2005

Novatec Editora Ltda. Rua Luis Antônio dos Santos 110 02018-012 São Paulo Brasil Tel.: +55 11 6959-6529 Fax: +55 11 6950-8869 E-mail: novatec@novatec.com.br Site: www.novatec.com.br


Sumário

Introdução ao PHP.....................................5

O que é PHP?.......................................................................... 5 Download e instalação............................................................. 5 Iniciando em PHP.................................................................... 6 Variáveis.................................................................................. 7 Constantes............................................................................... 7 Arrays...................................................................................... 8 Objetos..................................................................................... 9 Operadores............................................................................. 10 Aritméticos...................................................................... 10 Binários........................................................................... 10 Comparação.................................................................... 10 Atribuição....................................................................... 10 Lógicos............................................................................ 11 Estruturas de controle em PHP.............................................. 11 if 11 switch.............................................................................. 12 while................................................................................ 13 do...while......................................................................... 13 for 14 foreach............................................................................. 14 Definição de funções............................................................. 15 Dados de formulários HTML................................................ 16 Leitura e gravação em arquivos-texto................................... 16 Integração com bancos de dados........................................... 17 Funções do PHP.................................................................... 17

Funções do PHP.......................................18

Apache................................................................................... 18 Arrays.................................................................................... 18 BCMath – Números de precisão arbitrária............................ 24 Bzip2 – Compressão.............................................................. 24 Calendário............................................................................. 25 COM – Suporte para Windows............................................. 27 Classes/Objetos..................................................................... 28 Controle de saída (output)..................................................... 29 CURL – Client URL Library................................................. 30 Data e Hora............................................................................ 31 dBase..................................................................................... 33 dbx 34 Diretórios............................................................................... 35 DOM XML............................................................................ 36 Erros – Tratamento e Registro (Logging).............................. 40 Execução de programas......................................................... 41 Expressões regulares (Perl)................................................... 42 Expressões regulares (POSIX).............................................. 43 Filesystem (Sistema de Arquivos)......................................... 44 FTP........................................................................................ 49 HTTP..................................................................................... 51 Imagens................................................................................. 51 IMAP, POP3 e NNTP............................................................ 59 Informix................................................................................. 64 InterBase................................................................................ 67 Ingres II................................................................................. 70


Sumário LDAP..................................................................................... 71 Mail....................................................................................... 74 Matemática............................................................................ 74 Memória compartilhada........................................................ 77 MIME.................................................................................... 78 Microsoft SQL Server........................................................... 78 Miscelânea............................................................................. 80 mSQL.................................................................................... 81 MySQL.................................................................................. 84 MySQLi................................................................................. 87 Network (Rede)..................................................................... 93 ODBC.................................................................................... 95 Opções e informações do PHP.............................................. 98 Oracle.................................................................................. 101 Oracle 8............................................................................... 103 PDF...................................................................................... 106 PostgreSQL.......................................................................... 113 Sessões................................................................................. 118 Sockets................................................................................. 119 SQLite................................................................................. 122 Strings.................................................................................. 125 Sybase.................................................................................. 131 URL..................................................................................... 133 Variáveis.............................................................................. 134 XML parser......................................................................... 136 XSLT................................................................................... 138 Zlib – Compressão............................................................... 139

Informações adicionais.........................142

Download do código-fonte.................................................. 142 Versão do PHP utilizada no Guia........................................ 142 Problemas na execução de funções..................................... 142 Links sobre PHP.................................................................. 142 Notação utilizada neste Guia............................................... 143 Comentários e sugestões..................................................... 143


Introdução ao PHP • O que é PHP

Introdução ao PHP O que é PHP? PHP é uma das linguagens de programação mais utilizadas na Web para a criação de páginas dinâmicas. Suas principais características são: •

Gratuito e com código aberto: o arquivo de instalação pode ser obtido gratuitamente no site http://www.php.net. Além disso, o PHP é um software com código-fonte aberto.

Embutido no HTML: o HTML e o PHP estão misturados. Você pode começar a escrever em PHP, então escrever um trecho em HTML, voltar para o PHP, e assim por diante.

Baseado no servidor: quando você acessa uma página PHP através do seu navegador, todo o código PHP é executado no servidor, e somente o resultado final é exibido para o usuário. Portanto, o navegador exibe a página já processada, sem consumir recursos de seu computador.

Bancos de dados: diversos bancos de dados são suportados pelo PHP, ou seja, o PHP possui código que executa funções de cada um. Entre eles temos MySQL, PostgreSQL, SQLite, InterBase, Oracle, SQL Server, entre outros que oferecem suporte à linguagem SQL.

Portabilidade: pode-se executar o PHP no Linux, Unix ou Windows NT.

Veja a seguir um exemplo de uma página Web que contém programação PHP. Ao invés de nomeá-la como exemplo.html, ela será nomeada como exemplo.php, para que o browser possa identificar que trata-se de uma página com programação PHP.

exemplo.php <html> <head> <title>Exemplo</title> </head> <body> <?php echo “Este é um script PHP!”; ?> </body> </html> Esse programa contém a estrutura padrão de uma página HTML, com as tags <html>, <body>, <head> e <title>. No corpo da página há um trecho de código PHP, onde foi usado o comando echo para exibir na tela o texto “Este é um script PHP!”.

Download e instalação Se você estiver utilizando os serviços de um provedor de hospedagem, provavelmente não precisará se preocupar com a instalação e configuração do PHP e de outros softwares. Caso contrário, o PHP está disponível para download em seu site oficial, no endereço http://www.php.net/.


Introdução ao PHP • Download e instalação Acessando a seção “downloads”, você poderá obter a última versão da linguagem. Na versão para Linux, o PHP precisará ser compilado em seu sistema operacional. Para mais detalhes, consulte o arquivo install.txt que acompanha a distribuição. Na versão Windows, a distribuição está disponível em um arquivo compactado zip, que já contém os arquivos binários. Basta descompactá-lo em algum diretório do seu computador. Para poder acessar seus programas pelo navegador, você precisará também de um servidor Web. O mais indicado é o Apache, que pode ser obtido em http://httpd.apache.org/. O arquivo install.txt, que acompanha o PHP, contém as instruções para a configuração do PHP no Apache. Se você pretende trabalhar com banco de dados, duas opções interessantes são o MySQL e o PostgreSQL, que podem ser obtidos respectivamente em: •

http://www.mysql.com

http://www.postgresql.org.

Iniciando em PHP Um programa PHP pode ser escrito em qualquer editor de texto, como, por exemplo, no Bloco de Notas (Notepad) do Windows ou no VI do Linux. Um trecho de código PHP deve estar entre as tags <?php e ?> para que o servidor Web reconheça que trata-se de um código de programação e possa chamar o interpretador PHP para executá-lo. Para treinar, abra o editor de texto de sua preferência e digite as linhas a seguir.

exemplo2.php <?php // Que bacana, estou programando em PHP!!! echo “<h1 align=’center’>Este é meu primeiro programa!</h1>”; ?> Salve esse programa como exemplo2.php e envie-o para o diretório que você está utilizando para hospedar o site. Para ver o resultado, basta acessar pelo navegador o endereço http://<seu_endereço>/exemplo2.php, onde você deve substituir <seu_endereço> pelo endereço do servidor que está utilizando para executar os programa PHP.

A seguir é apresentado o significado de cada uma das linhas que você digitou no programa:


Introdução ao PHP • Iniciando em PHP

Elementos

Descrição

<?php //

Indica o início de um trecho de código PHP. Linha de comentário. Tudo que vem após estas barras na mesma linha é ignorado pelo PHP. É um dos comandos mais utilizados em PHP. Serve para escrever alguma coisa na tela. Indica o término de um trecho de código PHP.

echo ?>

Se você escolher a opção Exibir-Código-fonte em seu navegador, verá que ele não recebe nenhuma linha em PHP. Ele recebe somente código HTML puro. Isso acontece porque o código PHP é processado no servidor, que retorna somente o resultado final para o navegador.

Variáveis Servem para armazenar dados que podem ser utilizados em qualquer ponto do programa. Ao contrário de linguagens tradicionais, como C, Pascal e Delphi, no PHP não é necessário fazer declaração de variáveis. Basta atribuir diretamente um valor a ela. No PHP, as variáveis devem iniciar com o símbolo $. Após esse símbolo deve vir o identificador da variável, que não pode iniciar com um número. Exemplos de variáveis válidas e inválidas: Válidas

$joao23 $casal20 $teste450 Inválidas

$100vergonha $5 $20assustar Um recurso interessante do PHP é a interpolação de variáveis, ou seja, a inclusão do valor de uma variável dentro de uma string, como mostra o exemplo a seguir.

exemplo3.php <?php $time = “Grêmio”; $titulo = “Campeão da América”; echo “O $time é $titulo”; ?> Veja que o valor das variáveis $time e $titulo foi usado dentro da string passada para o comando echo. O resultado será: O Grêmio é Campeão da América

Constantes São valores definidos no início do programa, e que não mudam ao longo de sua execução. Você pode definir suas próprias constantes, com o comando define, que possui a seguinte sintaxe: bool define (string nome, misto valor [, bool case_insensitive])


Introdução ao PHP • Constantes O parâmetro “case_insensitive” é um valor lógico (true ou false) que indica se o PHP deve distinguir maiúsculas de minúsculas. Veja o exemplo a seguir, nomeado como exemplo4.php, que mostra como devemos usar as constantes:

exemplo4.php <?php define (“meunome”,”João”); define (“peso”,80); echo “O meu nome é ” . meunome; echo “<br>”; echo “O meu peso é ” . peso . “ quilos”; ?> Executando esse programa, você terá o seguinte resultado em seu browser: O meu nome é João O meu peso é 80 quilos Note que um dos recurso utilizados no exemplo foi a concatenação, representada pelo ponto (.). Além de você poder definir suas próprias constantes, o PHP já possui diversas constantes predefinidas; veja a seguir algumas: Constantes

Descrição

TRUE FALSE __FILE__ __LINE__ PHP_VERSION PHP_OS E_ERROR

Valor verdadeiro (utilizado para comparação). Valor falso. Nome do script que está sendo executado. Número da linha do script que está sendo executado. Versão corrente do PHP. Nome do sistema operacional no qual o PHP está rodando. Exibe um erro ocorrido em um script. A execução é interrompida. Exibe uma mensagem de aviso do PHP. A execução não pára. Exibe um erro de sintaxe. A execução é interrompida. Mostra que ocorreu algo, mas não necessariamente um erro. A execução não pára.

E_WARNING E_PARSE E_NOTICE

Arrays As variáveis comuns (escalares) podem armazenar apenas um valor por vez. Um array (vetor) pode armazenar vários valores ao mesmo tempo. Além de possuir um identificador, um array possui índices (que podem ser números ou strings). O índice deve aparecer entre colchetes ([]) logo após o identificador do array. Veja a seguir exemplos de armazenamento em arrays: $vetor[0] = 30; $vetor[1] = 40; $vetor[3] = 50; Se não colocarmos o índice do vetor entre colchetes, o PHP irá procurar o último índice utilizado e incrementá-lo, armazenando assim o valor na posição seguinte do array, conforme mostra o exemplo a seguir: $vet[ ] = “Grêmio”; $vet[ ] = “Campeão”; Nesse exemplo teremos o valor “Grêmio” armazenado em $vet[0] e o valor “Campeão” armazenado em $vet[1].


Introdução ao PHP • Arrays

Até agora só vimos exemplos em que o índice do array é um valor numérico, mas o índice também pode ser um texto, e nesse caso, o texto é chamado de chave associativa. $vetor[“time”] = “Grêmio”; $vetor[“fundacao”] = 1903; Existem também as matrizes, que são arrays multidimensionais. As matrizes podem possuir dois ou mais índices para referenciar uma posição de memória. Por exemplo: $clube [“RS”] [“PortoAlegre”] = “Grêmio”; $clube [“MG”] [“BeloHorizonte”] = “Cruzeiro”; Outra forma de criar um array é por meio da função array do PHP. Veja o exemplo apresentado a seguir:

exemplo5.php <?php $vetor = array (10,50,100,150,200); echo $vetor[2] . “<br>”; $vet = array (1, 2, 3, ”nome”=>”Juliano”); echo $vet[0] . “<br>”; echo $vet[“nome”]; ?> Após a execução desse programa os resultados mostrados na tela serão os seguintes: 100 1 Juliano Lembre-se de que o array inicia-se na posição 0 (zero), por isso, apesar de ser o terceiro elemento do array, o 100 foi o primeiro valor mostrado, pois seu índice é 2.

Objetos Também é possível programar em PHP com o modelo orientado a objetos. Podemos definir uma classe e dentro dela, as variáveis e funções que estarão disponíveis aos seus objetos. Um objeto é a variável que utilizamos para instanciar uma classe. Veja a seguir um pequeno exemplo:

exemplo6.php <?php class teste { function Saudacao() { echo “Oi pessoal!”; } } $objeto = new teste; // $objeto se torna uma instância da classe teste $objeto -> Saudacao(); ?> Ao criar uma instância da classe na variável $objeto, podemos acessar as funções definidas dentro da classe. Esse programa mostrará a mensagem “Oi pessoal!”.


10

Introdução ao PHP • Operadores

Operadores Aritméticos Operadores

Operação

+ - * / %

Adição Subtração Multiplicação Divisão Resto da divisão

O PHP possui também outros operadores aritméticos, que atuam em apenas um operando. A tabela a seguir mostra esses operadores: Operadores

Descrição

-oper ++oper

Troca o sinal do operando . Pré-incremento. Primeiro incrementa o valor do operando e depois realiza a operação. Pré-decremento. Primeiro decrementa o valor do operando e depois realiza a operação. Pós-incremento. Primeiro realiza a operação e depois incrementa o operando. Pós-decremento. Primeiro realiza a operação e depois decrementa o operando.

—oper oper++ oper—

Por exemplo, se o objetivo for somente incrementar o valor de uma variável, pode-se simplesmente digitar o nome da variável seguida do operador ++. Exemplo: $contador++;

Binários Operadores

Descrição

~op1 op1 & op2 op1 | op2 op1 ^ op2 op1 >> n op1 << n

Inverte os bits de op1. Operação E (AND) bit a bit. Operação OU (OR) bit a bit. Operação OU exclusivo (XOR). Desloca op1 n bits à direita. Desloca op1 n bits à esquerda.

Comparação Operadores

Descrição

op1 == op2 op1 === op2

Verdadeiro se op1 for igual a op2. Verdadeiro se op1 for igual a op2 e eles forem do mesmo tipo. Verdadeiro se op1 for maior ou igual a op2. Verdadeiro se op1 for menor ou igual a op2. Verdadeiro se op1 for diferente de op2. Verdadeiro se op1 for diferente de op2 ou eles não forem do mesmo tipo. Também serve para representar diferença. . Verdadeiro se op1 for maior que op2. Verdadeiro se op1 for menor que op2.

op1 >= op2 op1 <= op2 op1 != op2 op1 !== op2 op1 <> op2 op1 > op2 op1 < op2

Atribuição Operadores

Descrição

op1 = op2 op1 += op2 op1 -= op2 op1 *= op2 op1 /= op2 op1 .= op2

op1 recebe o valor de op2. Equivale a op1=op1+op2. Equivale a op1=op1-op2. Equivale a op1=op1*op2. Equivale a op1=op1/op2. Concatenação: equivale a op1=op1.op2.


Introdução ao PHP • Operadores op1 %= op2 op1 <<= op2 op1 >>= op2 op1 &= op2 op1 |= op2 op1 ^= op2

11

Equivale a op1=op1%op2. Equivale a op1=op1<<op2. Equivale a op1=op1>>op2. Equivale a op1=op1&op2. Equivale a op1=op1|op2. Equivale a op1=op1^op2.

Vamos ver um exemplo envolvendo operadores de atribuição:

exemplo7.php <html> <body> <?php $soma=0; $valor1 = 10; $valor2 = 20; $valor3 = 30; $soma += $valor1; $soma +=$valor2; $soma *= $valor3; $soma %= 100; echo $soma; ?> </body> </html>

// $soma fica com 10 // $soma fica com 10+20 = 30 // $soma fica com 30*30 = 900 // $soma fica com 900%100 = 0

Lógicos Operadores

Descrição

!op1 op1 AND op2 op1 OR op2 op1 XOR op2 op1 && op2 op1 || op2

Verdadeiro se op1 for falso. Verdadeiro se op1 E op2 forem verdadeiros. Verdadeiro se op1 OU op2 forem verdadeiros. Verdadeiro se só op1 ou só op2 for verdadeiro. Verdadeiro se op1 E op2 forem verdadeiros. Verdadeiro se op1 OU op2 forem verdadeiros.

A diferença entre os operadores AND e &&, e também entre os operadores OR e ||, é a precedência dos mesmos na avaliação de expressões. A precedência mais alta é dos operadores && e ||.

Estruturas de controle em PHP O uso dessas estruturas é fundamental para realizar decisões lógicas, testar se determinada expressão é verdadeira e repetir um bloco de comandos por um certo número de vezes. Neste guia, veremos os comandos condicionais if e switch, e os comandos de repetição while, do...while, for e foreach.

if Comando que avalia uma expressão e, dependendo do resultado, é executado um conjunto diferente de instruções. O comando if pode possuir como complemento o elseif e/ou o else. Observe a sintaxe do comando if: If ( exp1 ) { bloco1 } elseif ( exp2 ) { bloco2 } else { bloco3 }


12

Introdução ao PHP • Estruturas de controle Podemos ler essa sintaxe da seguinte maneira: •

se exp1 for verdadeira, execute bloco1.

senão, se exp2 for verdadeira, execute bloco2.

senão execute bloco3.

Se o bloco de comandos não for delimitado por chaves, será executada apenas a primeira linha após o if (ou elseif ou else). É importante destacar que não é obrigatório o uso de elseif e else com o comando if. O if pode aparecer sozinho, simplesmente determinando se um bloco de instruções será executado ou não. Por exemplo: <?php if ($nota == 10) { echo “Parabéns! <br>”; echo “Você tirou a nota máxima!” } ?> Se o valor da variável $nota não for igual a 10, esse bloco de comandos simplesmente não será executado, e a execução do programa seguirá normalmente. Poderíamos acrescentar um else ao comando, e imprimir outra mensagem caso o aluno não tirasse nota 10.

switch O comando switch é parecido com o if, pois ambos avaliam o valor de uma expressão para escolher qual bloco de instruções deve ser executado. A sintaxe do switch é a seguinte: switch (operador) { case valor1: <comandos> break; case valor2: <comandos> break; .... case valorN: <comandos> break; default: <comandos> break; }

Após cada bloco de comandos deve ser utilizado o break, para que o comando switch seja encerrado e a execução continue após ele. Veja a seguir um exemplo de uso desse comando. <?php switch ($numero) { case ‘s’: echo “Você escolheu a opção SIM”; break;


Introdução ao PHP • Estruturas de controle

13

case ‘n’: echo “ Você escolheu a opção NÃO “; break; default: echo “ A opção digitada é inválida”; break; } ?> A opção default tem a mesma função da opção else no comando if. Se todas as expressões anteriores retornarem falso, será executado o bloco de comandos que aparece após o default. O uso do default não é obrigatório no comando switch.

while O comando while (enquanto) é composto por uma expressão e por um bloco de comandos. O comando avalia a expressão, e enquanto essa expressão retornar o valor verdadeiro, a execução do bloco de comandos em questão será repetida. A sintaxe é a seguinte: while (exp) { comandos }

Veja a seguir um exemplo de utilização do comando while:

exemplo8.php <?php $cont = 1; while ($cont<100) { echo “O valor atual do contador é $cont <br>”; $cont++; } ?> A execução desse programa resultará em 99 linhas mostradas na tela: O valor atual do contador é 1 O valor atual do contador é 2 ... O valor atual do contador é 99 Quando a variável $cont atingir o valor 100, a expressão retornará o valor falso, pois 100 não é menor que o próprio 100, e isso fará com que o loop seja encerrado.

do...while A diferença entre o while e o do...while é que o while avalia a expressão no início do laço, e o do...while avalia a expressão no final do laço. A sintaxe do comando é a seguinte: do { comandos } while (exp);

Veja um exemplo:


14

Introdução ao PHP • Estruturas de controle exemplo9.php <?php $numero = 1; do { echo “O valor atual de número é $numero <br>”; $numero++; } while ($numero<4); ?> O resultado gerado pela execução desse programa será: O valor atual de número é 1 O valor atual de número é 2 O valor atual de número é 3

for Utilizamos o comando for quando queremos executar um conjunto de instruções um número determinado de vezes. Sua sintaxe é a seguinte: for ( inicialização ; condição ; operador ) { comandos }

Como inicialização geralmente determinamos o valor inicial da variável que irá controlar o laço. No segundo parâmetro devemos colocar a condição que deve ser atingida para que o laço continue. O último parâmetro geralmente é usado para atualizar o valor da variável de controle do laço. Veja um exemplo:

exemplo10.php <?php for($cont=0 ; $cont<10 ; $cont++) { echo “A variável \$cont vale $cont”; echo “<br>”; } ?> O resultado gerado pela execução desse programa será o seguinte: A variável $cont vale 0 A variável $cont vale 1 ... A variável $cont vale 9

foreach O comando foreach nos oferece uma maneira mais fácil de “navegar” entre os elementos de um array. Observe as duas sintaxes possíveis: foreach ($nome_array as $elemento) { comandos }

ou


Introdução ao PHP • Estruturas de controle

15

foreach ($nome_array as $chave => $valor) { comandos }

A primeira forma vai do primeiro ao último índice do array definido na variável $nome_array, e a cada iteração o valor do elemento corrente do array é atribuído à variável $elemento, e o ponteiro interno do array é avançado. Dessa forma, podemos trabalhar com todos os valores do array utilizando apenas a variável $elemento. A segunda forma faz a mesma coisa, mas com uma diferença: além do valor do elemento corrente do array ser atribuído à variável $elemento, a chave (ou índice) do elemento atual é atribuído à variável $chave. Acompanhe o exemplo a seguir:

exemplo11.php <?php $vetor = array (1, 2, 3, 4); foreach ($vetor as $v) { print “O valor atual do vetor é $v. <br>”; } $a = array ( “um” => 1, “dois” => 2, “tres” => 3 ); foreach($a as $chave => $valor) { print “\$a[$chave] => $valor.<br>”; } ?> O programa apresentado mostrará na tela todos os valores do array $vetor, e depois mostrará todos as chaves e valores do array $a. O segundo foreach desse exemplo mostrará o seguinte: $a [um] => 1. $a [dois] => 2. $a [tres] => 3.

Definição de funções As funções são muito úteis para deixar o código dos programas mais organizado e mais modular, além de evitarem a repetição de determinado código toda vez que precisarmos realizar a mesma tarefa. A sintaxe do PHP para a construção de uma função é a seguinte: function nome_função (arg1, arg2, arg3 ..., argn ) { comandos [ return <expressão> ] }

Devemos substituir nome_função por um identificador, que deve ser um nome único. O identificador não pode iniciar com número, nem conter caracteres como ponto, vírgula, espaço, etc. Veja um exemplo:


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.