Tutorial php avançado

Tutorial php avançado

(Parte 1 de 8)

UNIVERSIDADE FEDERAL DE SERGIPE

CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

DCCE - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E ESTATÍSTICA

Projeto Supervisionado

Tutorial da linguagem PHP

por Maurício Vivas de Souza Barreto

vivas@usa.net

mauricio@vivas.com.br

Professor Orientador:

Giovanny Lucero

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA

Projeto de Final de Curso

Submetido a uma banca examinadora composta por:

________________________________________

Professor Giovanny Lucero

________________________________________

Professora Ana Rosimere

________________________________________

Professor Leonardo Nogueira Matos

Agradecimentos

  • A Giovanny, por ter acreditado no projeto e aceitado o desafio de realizá-lo em tão pouco tempo;

  • A Ana Rosimere, pela ajuda que sempre deu durante todo o curso;

  • A minha mãe, SEMPRE!

  • Aos professores do DCCE, pelo conhecimento que me transmitiram;

  • A Mônica e Calliandra, também pelo incentivo, principalmente enquanto ainda estavam no curso;

  • A Marina, por existir;

  • A meus amigos, porque o são;

  • A Shi eu não vou agradecer, só pra ser do contra!

Índice

Índice v

1. Introdução 11

O que é PHP? 11

O que pode ser feito com PHP? 11

Como surgiu a linguagem PHP? 12

2. Sintaxe Básica 13

Delimitando o código PHP 13

Separador de instruções 13

Nomes de variáveis 14

Comentários 14

Comentários de uma linha: 14

Comentários de mais de uma linha: 14

3. Criando os primeiros scripts 16

Primeiro Exemplo 16

Utilizando formulários HTML 17

Interagindo com o browser 18

Acessando Bancos de Dados 19

Conexão com o servidor 19

Seleção do banco de dados 20

Execução de queries SQL 20

Tratamento de resultados de query SELECT 22

4. Tipos 24

Tipos Suportados 24

Inteiros (integer ou long) 24

Números em Ponto Flutuante (double ou float) 25

Strings 25

Significado 26

Arrays 26

Listas 27

Objetos 28

Booleanos 28

Transformação de tipos 28

Coerções 28

Transformação explícita de tipos 29

Com a função settype 30

5. Constantes 31

Constantes pré-definidas 31

Definindo constantes 31

6. Operadores 32

Aritméticos 32

de strings 32

de atribuição 32

bit a bit 33

Lógicos 33

Comparação 33

Expressão condicional 34

de incremento e decremento 34

Ordem de precedência dos operadores 35

7. Estruturas de Controle 36

Blocos 36

Comandos de seleção 36

if 37

switch 39

comandos de repetição 41

while 41

do... while 41

for 42

Quebra de fluxo 43

Break 43

Continue 43

8. Funções 45

Definindo funções 45

Valor de retorno 45

Argumentos 46

Passagem de parâmetros por referência 46

Argumentos com valores pré-definidos (default) 47

Contexto 48

Escopo 48

9. Variáveis 50

O modificador static 50

Variáveis Variáveis 51

Variáveis enviadas pelo navegador 51

URLencode 52

Variáveis de ambiente 52

Verificando o tipo de uma variável 52

Função que retorna o tipo da variável 53

Funções que testam o tipo da variável 53

Destruindo uma variável 53

Verificando se uma variável possui um valor 54

A função isset 54

A função empty 54

10. Classes e Objetos 55

Classe 55

Objeto 55

A variável $this 55

SubClasses 56

Construtores 56

12. Conclusões 58

13. Bibliografia e Referências 59

APÊNDICE 01 - Funções para tratamento de strings 60

Funções relacionadas a HTML 60

htmlspecialchars 60

htmlentities 60

nl2br 60

get_meta_tags 61

strip_tags 61

urlencode 61

urldecode 62

Funções relacionadas a arrays 62

Implode e join 62

split 62

explode 63

Comparações entre strings 63

similar_text 63

strcasecmp 63

strcmp 64

strstr 64

stristr 64

strpos 64

strrpos 64

Funções para edição de strings 65

chop 65

ltrim 65

trim 65

strrev 65

strtolower 66

strtoupper 66

ucfirst 66

ucwords 66

str_replace 67

Funções diversas 67

chr 67

ord 67

echo 67

print 67

strlen 68

APÊNDICE 02 - Funções para tratamento de arrays 69

Funções Genéricas 69

Array 69

range 69

shuffle 70

sizeof 70

Funções de “navegação” 70

reset 70

end 70

next 71

prev 71

pos 71

key 71

each 71

Funções de ordenação 72

sort 72

rsort 72

asort 73

arsort 73

ksort 73

usort 73

uasort 73

uksort 74

Resumo

O presente trabalho tem por objetivo relatar as atividades desenvolvidas durante a realização do projeto supervisionado do aluno Maurício Vivas de Souza Barreto, orientado pelo professor Giovanny Lucero.

O projeto consistiu numa pesquisa sobre a linguagem PHP – uma linguagem de script voltada para a construção de home-pages dinâmicas, que é executada no servidor http. Para a complementação do estudo sobre a linguagem foi desenvolvida uma aplicação, como exemplo da utilização da linguagem PHP.

A aplicação desenvolvida trata-se do preenchimento do formulário para a GED – Gratificação de Estímulo à Docência. Através do sistema desenvolvido, qualquer usuário cadastrado poderá preencher os formulários do GED através de um navegador http, e ao final do período poderá imprimir o formulário preenchido.

1. Introdução

O que é PHP?

PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. A diferença de PHP com relação a linguagens semelhantes a Javascript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com a vantagem de não expor o código fonte para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou qualquer tipo de informação confidencial.

O que diferencia PHP de um script CGI escrito em C ou Perl é que o código PHP fica embutido no próprio HTML, enquanto no outro caso é necessário que o script CGI gere todo o código HTML, ou leia de um outro arquivo.

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.

Como surgiu a linguagem PHP?

A linguagem PHP foi concebida durante o outono de 1994 por Rasmus Lerdorf. As primeiras versões não foram disponibilizadas, tendo sido utilizadas em sua home-page apenas para que ele pudesse ter informações sobre as visitas que estavam sendo feitas. A primeira versão utilizada por outras pessoas foi disponibilizada em 1995, e ficou conhecida como “Personal Home Page Tools” (ferramentas para página pessoal). Era composta por um sistema bastante simples que interpretava algumas macros e alguns utilitários que rodavam “por trás” das home-pages: um livro de visitas, um contador e algumas outras coisas.

Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o “FI” veio de um outro pacote escrito por Rasmus que interpretava dados de formulários HTML (Form Interpreter). Ele combinou os scripts do pacote Personal Home Page Tools com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu bastante, e as pessoas passaram a contribuir com o projeto.

Estima-se que em 1996 PHP/FI estava sendo usado por cerca de 15.000 sites pelo mundo, e em meados de 1997 esse número subiu para mais de 50.000. Nessa época houve uma mudança no desenvolvimento do PHP. Ele deixou de ser um projeto de Rasmus com contribuições de outras pessoas para ter uma equipe de desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e Andi Gutmans, e esse novo interpretador foi a base para a versão 3.

Atualmente o uso do PHP3 vem crescendo numa velocidade incrível, e já está sendo desenvolvida a versão 4 do PHP.

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>

<?

comandos

?>

<%

comandos

%>

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 PHP, através do arquivo de configuração php.ini.

Separador de instruções

Entre cada instrução em PHP é preciso utilizar o ponto-e-vírgula, assim como em C, Perl e outras linguagens mais conhecidas. Na última instrução do bloco de script não é necessário o uso do ponto-e-vírgula, mas por questões estéticas recomenda-se o uso sempre.

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 $vivas e $VIVAS 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, mas não funciona corretamente ?>

*/

<?

echo “teste”; /* Isto é um comentário com mais

de uma linha que funciona corretamente

*/

?>

3. Criando os primeiros scripts

Primeiro Exemplo

Neste exemplo, criaremos um script com uma saída simples, que servirá para testar se a instalação foi feita corretamente:

<html>

<head><title>Aprendendo PHP</title></head>

<body>

<?php

echo "Primeiro Script";

?>

</body>

</html>

Salve o arquivo como “primeiro.php3” no diretorio de documentos do Apache (ou o Web Server escolhido). Abra uma janela do navegador e digite o endereço “http://localhost/primeiro.php3”. Verificando o código fonte da página exibida, temos o seguinte:

<html>

<head><title>Aprendendo PHP</title></head>

<body>

Primeiro Script

</body>

</html>

Isso mostra como o PHP funciona. O script é executado no servidor, ficando disponível para o usuário apenas o resultado. Agora vamos escrever um script que produza exatamente o mesmo resultado utilizando uma variável:

<html>

<head><title>Aprendendo PHP</title></head>

<body>

<?php

$texto = "Primeiro Script";

echo $texto;

?>

</body>

</html>

Utilizando formulários HTML

Ao clicar num botão “Submit” em um formulário HTML as informações dos campos serão enviadas ao servidor especificado para que possa ser produzida uma resposta. O PHP trata esses valores como variáveis, cujo nome é o nome do campo definido no formulário. O exemplo a seguir mostra isso, e mostra também como o código PHP pode ser inserido em qualquer parte do código HTML:

<html>

<head><title>Aprendendo PHP</title></head>

<body>

<?php

if ($texto != "")

echo "Você digitou \"$texto\"<br><br>";

?>

<form method=post action="<? echo $PATH_INFO; ?>">

<input type="text" name="texto" value="" size=10>

<br>

<input type="submit" name="sub" value="Enviar!">

</form>

</body>

</html>

Ao salvar o arquivo acima e carregá-lo no browser, o usuário verá apenas um formulário que contém um espaço para digitar o texto, como visto na figura 01. Ao digitar um texto qualquer e submeter o formulário, a resposta, que é o mesmo arquivo PHP (indicado pela constante $PATH_INFO, que retorna o nome do arquivo) será como na figura 02:

figura 01

figura 02

Isso ocorre porque o código PHP testa o conteúdo da variável $texto. Inicialmente ele é uma string vazia, e por isso nada é impresso na primeira parte. Quando algum texto é digitado no formulário e submetido, o PHP passa a tratá-lo como uma variável. Como no formulário o campo possui o nome “texto”, a variável com seu conteúdo será $texto. Assim, no próximo teste o valor da variável será diferente de uma string vazia, e o PHP imprime um texto antes do formulário.

Interagindo com o browser

PHP também permite interagir com informações do browser automaticamente. Por exemplo, o script a seguir mostra informações sobre o browser do usuário. As figuras 03 e 04 mostram o resultado visto no Netscape Communicator e o Microsoft Internet Explorer, respectivamente.

<html>

<head><title>Aprendendo PHP</title></head>

<body>

<? echo $HTTP_USER_AGENT; ?>

</body>

</html>

figura 03

figura 04

Observe que o resultado mostra características de cada browser, como a versão, e no caso do Communicator até o idioma (“en”). Com isso, se você criar uma página com recursos disponíveis somente no Internet Explorer, por exemplo, pode esconder o código dos outros browsers, com um código semelhante ao seguinte:

<html>

(Parte 1 de 8)

Comentários