Tutorial php completo

Tutorial php completo

(Parte 1 de 7)

Apostila de PHP Apostila desenvolvida por Bruno Rodrigues Siqueira( bruno@netfly.com.br )

ÍNDICE1
1.INTRODUÇÃO10
O QUE É PHP?10
HISTÓRIA DO PHP1
O QUE PODE SER FEITO COM PHP?12
TABELA COMPARATIVA12
2. SINTAXE BÁSICA13
DELIMITANDO O CÓDIGO PHP13
SEPARADOR DE INSTRUÇÕES13
NOMES DE VARIÁVEIS14
COMENTÁRIOS14
3. TIPOS16
TIPOS SUPORTADOS16
Inteiros (integer ou long)16
Números em Ponto Flutuante (double ou float)16
Strings17
Arrays18
LISTAS18
OBJETOS19
BOOLEANOS19
TRANSFORMAÇÃO DE TIPOS19
COERÇÕES20
TRANSFORMAÇÃO EXPLÍCITA DE TIPOS20
COM A FUNÇÃO SETTYPE21
4. CONSTANTES2
CONSTANTES PRÉ-DEFINIDAS2
DEFININDO CONSTANTES2
5. OPERADORES23
ARITMÉTICOS23
DE STRINGS23
DE ATRIBUIÇÃO23
BIT A BIT24
LÓGICOS24
COMPARAÇÃO24
EXPRESSÃO CONDICIONAL25
DE INCREMENTO E DECREMENTO25
BLOCOS27
COMANDOS DE SELEÇÃO27
if27
switch30
COMANDOS DE REPETIÇÃO31
while31
dowhile................................................................................................................................................ 32
for3
QUEBRA DE FLUXO34
Break34
Continue34
7. FUNÇÕES36
DEFININDO FUNÇÕES36
VALOR DE RETORNO36
ARGUMENTOS36
PASSAGEM DE PARÂMETROS POR REFERÊNCIA37
ARGUMENTOS COM VALORES PRÉ-DEFINIDOS (DEFAULT)38
ESCOPO39
8. VARIÁVEIS41
O MODIFICADOR STATIC41
VARIÁVEIS VARIÁVEIS42
VARIÁVEIS ENVIADAS PELO NAVEGADOR42
URLENCODE42
VARIÁVEIS DE AMBIENTE43
VERIFICANDO O TIPO DE UMA VARIÁVEL43
Função que retorna o tipo da variável43
Funções que testam o tipo da variável43
DESTRUINDO UMA VARIÁVEL4
VERIFICANDO SE UMA VARIÁVEL POSSUI UM VALOR4
ARRAYS MULTIDIMENSIONAIS45
9. CLASSES E OBJETOS46
CLASSE46
OBJETO46
A VARIÁVEL $THIS46
SUBCLASSES47
CONSTRUTORES47
10. PHP AVANÇADO49
INTERAGINDO COM O BROWSER49
UTILIZANDO FORMULÁRIOS HTML49
COOKIES51
SESSÃO51
REQUIRE52
ARQUIVOS REMOTOS53
Lendo53
Escrevendo53
TRATAMENTO DE ERROS54
1.SQL5
O QUE É?5
SELECT5
Subseleções56
INSERT56
UPDATE56
DELETE57
O QUE EM COMUM ENTRE: DELETE X UPDATE57
CREATE57
DROP58
ALTER58
12. BANCOS DE DADOS COMPATÍVEIS COM O PHP:58
13. BIBLIOTECA DE FUNÇÕES59
BIBLIOTECAS REQUERIDAS59
ARRAY59
Array59
array_keys [PHP4]59
Array_merge [PHP4]60
Array_pop[PHP4]60
Array_push[PHP4]60
Array_shift[PHP4]60
Array_slice[PHP4]60
Array_splice[PHP4]60
Array_unshift[PHP4]61
Array_values[PHP4]61
Array_walk61
Arsort61
Asort61
Compact[PHP4]61
Count62
Current62
Each62
End62
Extract62
In_array[PHP4]63
Key63
Ksort63
List63
Next63
Pos63
Prev63
Range63
Reset64
Rsort64
Sort64
Uasort64
Uksort64
Usort65
MATEMÁTICA PARA NÚMEROS INTEIROS65
Bcpow65
Bcscale65
DATAS65
Checkdate65
Date65
Getdate6
Gettimeofday6
Gmdate67
Gmmktime67
Gmstrftime67
Microtime67
Mktime67
Strftime67
Time68
DIRETÓRIO68
Chdir68
Classe dir69
Closedir69
Opendir69
Readdir69
Rewinddir69
EXECUÇÃO DE PROGRAMAS69
Escapeshellcmd69
Exec69
Passthru70
System70
SISTEMA DE ARQUIVOS DO SERVIDOR70
Basename70
Chgrp70
Chmod70
Chown71
Clearstatcache71
Copy71
Delete71
Dirname71
Diskfreespace71
Fclose71
Feof71
Fgetc72
Fgetcsv72
Fgets72
Fgetss72
File72
File_exists72
Fileatime72
Filectime73
Filegroup73
Fileinode73
Fileperms73
Filesize73
Filetype74
Flock74
Fopen74
Fpassthru75
Fputs75
Fread75
Fseek75
Ftell75
Fwrite75
Is_dir76
Is_executable76
Is_file76
Is_link76
Is_readable76
Is writeable76
Link76
Linkinfo7
Mkdir7
Pclose7
Popen7
Readfile7
Readlink7
Rename7
Rewind7
Rmdir78
Set_file_buffer78
Stat78
Symlink78
Tempnam78
Touch78
Umask79
Unlink79
OPÇÕES E INFORMAÇÕES DO PHP79
Error_log79
Error_reporting79
Extension_loaded80
Get_cfg_var80
Get_current_user80
Get_magic_quotes_gpc80
Get_magic_quotes_runtime80
Getenv80
Getlastmod80
Getmyinode81
Getmypid81
Getmyuid81
Getrusage81
Phpinfo81
Phpversion81
Putenv81
Set_magic_quotes_runtime81
Set_time_limit81
MATEMÁTICA82
Asin82
Atan82
Atan282
Base_convert82
Bindec82
Ceil82
Cos83
Decbin83
Dechex83
Decoct83
Exp83
Floor83
Getrandmax83
Hexdec83
Log83
Log1083
Max84
Min84
Mt_rand84
Mt_srand84
Mt_getrandmax84
Number_format84
Octdec84
Pi84
Pow84
Rand85
Round85
Sin85
Sqrt85
Srand85
Tan85
CRIPTOGRAFIA85
Mcrypt_cbc85
Mcrypt_cfb85
Mcrypt_create_iv86
Mcrypt_ecb86
Mcrypt_get_cipher_name86
Mcrypt_get_block_size86
Mcrypt_get_key_size86
Mcrypt_ofb86
FUNÇÕES DIVERSAS86
Connection_aborted86
Connection_status86
Connection_timeout86
Dl87
Eval87
Die87
Exit87
Function_exists87
Ignore_user_abort87
Iptcparse87
Leak87
Mail8
Pack8
Sleep8
Unpack8
Unserialize89
Uniquid89
Usleep89
REDE89
Checkdnsrr89
Closelog89
Debugger_on89
Debugger_off89
Fsockopen89
Gethostbyaddr89
Gethostbyname90
Openlog90
Pfsockopen90
Set_socket_blocking90
Syslog90
EXPRESSÕES REGULARES90
Ereg90
Ereg_replace90
Eregi91
Eregi_replace91
Split91
Sql_regcase91
TRATAMENTO DE SESSÕES91
Session_decode[PHP4]91
Session_destroy[PHP4]91
Session_encode[PHP4]91
Session_start[PHP4]91
Session_id[PHP4]92
Session_is_registered[PHP4]92
Session_module_name[PHP4]92
Session_name[PHP4]92
Session_register[PHP4]92
Session_save_path[PHP4]92
Session_unregister[PHP4]92
STRINGS92
Addslashes92
Bin2hex93
Chop93
Chr93
Chunk_split93
Convert_cyr_string93
Crypt93
Echo93
Explode93
Flush94
Get_meta_tags94
Htmlentities94
Htmlspecialchars94
Implode94
Join94
Ltrim94
Ord95
Parse_str95
Print95
Printf95
Quoted_printable_decode95
Quotemeta95
Rawurldeconde95
Rawurlenconde96
Setlocale96
Similar_text96
Soundex96
Sprintf96
Strchr96
Strcmp96
Strcspn96
Strip_tags97
Stripslashes97
Strlen97
Strpos97
Strrpos97
Strrchr97
Strrev97
Strspn97
Strstr97
Strtok98
Strtolower98
Strtoupper98
Str_replace98
Strtr98
Substr98
Trim98
Ucfirst9
Ucwords9
FUNÇÕES PARA VARIÁVEIS9
Doubleval9
Empty9
Gettype9
Intval9
Is_array9
Is_double9
Is_float9
Is_int100
Is_integer100
Is_long100
Is_object100
Is_real100
Is_string100
Isset100
Settype100
Strval101
Unset101

1. Introdução

O que é PHP?

PHP significa: Hypertext Preprocessor. Realmente, o produto foi originalmente chamado de “Personal Home Page Tools”; mas como se expandiu em escopo, um nome novo e mais apropriado foi escolhido por votação da comunidade. Você pode utilizar qualquer extensão que desejar para designar um arquivo PHP, mas os recomendados foram .php , .phtml. O PHP está atualmente na versão 4, chamado de PHP4 ou, simplesmente de PHP.

PHP é uma linguagem de criação de scripts embutida em HTML no servidor. Os produtos patenteados nesse nicho do mercado são as Active Server Pages da Microsoft, o Coldfusion da Allaire e as Java Server Pages da Sun. PHP é às vezes chamado de “o ASP de código-fonte aberto” porque sua funcionabilidade é tão semelhante ao produto/conceito, ou o que quer que seja, da Microsoft.

Exploraremos a criação de script no servidor, mais profundamente, nos próximos capítulos, mas, no momento, você pode pensar no PHP como uma coleção de supertags de HTML que permitem adicionar funções do servidor às suas páginas da Web. Por exemplo, você pode utilizar PHP para montar instantaneamente uma complexa página da Web ou desencadear um programa que automaticamente execute o débito no cartão de crédito quando um cliente realizar uma compra.

Falando estritamente, o PHP tem pouca relação com layout, eventos ou qualquer coisa relacionada à aparência de uma página da Web. De fato, a maior parte do que o PHP realiza é invisível para o usuário final. Alguém visualizando uma página de PHP não será capaz de dizer que não foi escrita em HTML, porque o resultado final do PHP é HTML.

O PHP é um módulo oficial do servidor http Apache, o líder do mercado de servidores Web livres que constitui aproximadamente 5 por cento da World Wide Web. Isso significa que o mecanismo de script do PHP pode ser construído no próprio servidor Web, tornando a manipulação de dados mais rápida. Assim como o servidor Apache, o PHP é compatível com várias plataformas, o que significa que ele executa em seu formato original em várias versões do UNIX e do Windows. Todos os projetos sob a égide da Apache Software Foundation – incluindo o PHP – são software de código-fonte aberto.

As várias versões do PHP foram aclamadas e premiadas nos últimos anos. O PHP3 foi o finalista em 1999 no LinuxWorld Editors Choice Awards (na categoria de biblioteca/ferramentas de programação) e ganhou o segundo lugar, perdendo só para o ColdFusion, em 1998 no Cnet Builder.com Product Awards (na categoria de melhor ferramenta de script de servidor – eles deram bastante importância ao IDE), ao passo que a combinação PHP3/MySQL ganhou prêmio de banco de dados do ano no Web98. Nada mau para um software sem relações públicas, sem publicidade e sem uma significativa exposição na mídia.

História do PHP

Rasmus Lerdorf – engenheiro de software, membro da equipe Apache e o homem misterioso do ano – é o criador e a força motriz original por trás do PHP. A primeira parte do PHP foi desenvolvida para utilização pessoal no final de 1994. Tratava-se de um wrapper de PerlCGI que o auxiliava a monitorar as pessoas que acessavam o seu site pessoal. No ano seguinte, ele montou um pacote chamado de Personal Home Page Tools (também conhecido como PHP Construction Kit) em resposta à demanda de usuários que por acaso ou por relatos falados depararam-se com o seu trabalho. A versão 2 foi logo lançada sob o título de PHP/FI e incluía o Form Interpreter, uma ferramenta para analisar sintaticamente consultas de SQL.

Em meados de 1997, o PHP estava sendo utilizado mundialmente em aproximadamente 50.0 sites. Obviamente estava se tornando muito grande para uma única pessoa administrar, mesmo para alguém concentrado e cheio de energia como Rasmus. Agora uma pequena equipe central de desenvolvimento mantinha o projeto sobre o modelo de “junta benevolente” do código-fonte aberto, com contribuições de desenvolvedores e usuários em todo o mundo. Zeev Suraski e Andi Gutmans, dois programadores israelenses que desenvolveram os analisadores de sintaxe PHP3 e PHP4, também generalizaram e estenderam seus trabalhos sob a rubrica de Zend.com (Zeev, Andi, Zend, entendeu?).

O quarto trimestre de 1998 iniciou um período de crescimento explosivo para o

PHP, quando todas as tecnologias de código-fonte aberto ganharam uma publicidade intensa. Em outubro de 1998, de acordo com a melhor suposição, mais de 100.0 domínios únicos utilizavam PHP de alguma maneira. Um ano depois, o PHP quebrou a marca de um milhão de domínios. Enquanto escrevo esta apostila, o número explodiu para cerca de dois milhões de domínios.

O que pode ser feito com PHP?

Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com

PHP, como coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies.

PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP.

Além disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com outros protocolos.

Tabela comparativa

Custos Comparativos

2. Sintaxe Básica

Delimitando o código PHP

O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags:

<?php comandos ?>

<script language=”php”> comandos </script>

O tipo de tags mais utilizado é o terceiro, que consiste em uma “abreviação” do primeiro.

Para utilizá-lo, é necessário habilitar a opção short-tags na configuração do PHP. O último tipo serve para facilitar o uso por programadores acostumados à sintaxe de ASP. Para utilizá-lo também é necessário habilitálo no arquivo de configuração do PHP (php.ini)

Separador de instruções

Para cada fim de linha de código tem que haver um ponto e vírgula, indicando ao sistema fim de instrução.

Exemplo. <? echo 'com ponto e vírgula' ; ?>

Linhas de comando, de controle, não precisam de ponto e vírgula.

Exemplo.: <? if ($x == $x){ //aqui não precisa de ponto e vírgula echo 'com ponto e vírgula' ; //aqui precisa de ponto e vírgula } ?>

Nomes de variáveis

Toda variável em PHP tem seu nome composto pelo caracter $ e uma string, que deve iniciar por uma letra ou o caracter “_”. PHP é case sensitive, ou seja, as variáveis $php e $PHP são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes das variáveis. É bom evitar os nomes em maiúsculas, pois como veremos mais adiante, o PHP já possui alguma variáveis pré-definidas cujos nomes são formados por letras maiúsculas.

Comentários Há dois tipos de comentários em código PHP:

Comentários de uma linha:

Marca como comentário até o final da linha ou até o final do bloco de código PHP - o que vier antes. Pode ser delimitado pelo caracter “#” ou por duas barras ( // ).

Exemplo: <? echo “teste”; #isto é um teste echo “teste”; //este teste é similar ao anterior ?>

Comentários de mais de uma linha:

Tem como delimitadores os caracteres “/*” para o início do bloco e “*/” para o final do comentário. Se o delimitador de final de código PHP ( ?> ) estiver dentro de um comentário, não será reconhecido pelo interpretador.

Exemplos:

<? echo “teste”; /* Isto é um comentário com mais de uma linha que funciona corretamente */ ?>

3. Tipos

Tipos Suportados

PHP suporta os seguintes tipos de dados: · Inteiro

· Ponto flutuante

· String

· Array

· Objeto

(Parte 1 de 7)

Comentários