Linguagem Técnica de Programação III Introdução a PHP Thiago Leite thiago.leite@udf.edu.br 1
O que é PHP? criada em 1994 por Rasmus Lerdorf scripts para a criação de páginas dinâmicas implementado em C PHP/FI (Personal Home Pages/Forms Interpreter) código disponível desde 1995 2
PHP (PHP: Hypertext Preprocessor) lançamento da versão 5 em 2000 orientação a objetos 3
Frameworks para PHP CakePHP Drupal Joomla! Symfony Zend... 4
Arquivos PHP.php - programa PHP.class.php - classe em PHP.inc.php - arquivo a ser importado 5
Editores para desenvolvimento em PHP Eclipse NetBeans Notepad++... 6
PHP em modo interativo (disponível apenas para ambientes Unix-like) php - a Interactive shell php > 7
Delimitadores de código <?php // codigo; // codigo; // codigo;?> 8
Comentários // echo a ; # echo a ; /* echo a ; echo a ; */ 9
Comandos de saída (output) echo echo a, b, c print print( abc ); 10
Comandos de saída (output) var_dump $vetor = array( a, b, c ); var_dump($vetor); print_r $vetor = array( a, b, c ); print_r($vetor); 11
Variáveis case sensitive fracamente tipada permite uso de ponteiros variáveis variantes 12
<?php $var = valor ; $var = 10; $x = &$var; $var_name = name ; $$var_name = content ;?> 13
Como fazer uso das variáveis não iniciar com nomes usando números não fazer uso de espaços em branco não fazer uso de caracteres especiais evitar variáveis de longos nomes nomes das variáveis devem ter relação ao dado armazenado evitar variáveis com nomes usando caracteres todos em maiúsculos 14
Tipos de variáveis em PHP booleanas numéricas texto array objeto resource mista NULL callback 15
Variáveis booleanas <?php $boolean1 = TRUE; $boolean2 = 10; if ($boolean1) { } echo Its true! ; if ($boolean2) { }?> echo Its also true! ; 16
Variáveis booleanas <?php $umidade = 90; $vai_chover = ($umidade > 80); if ($vai_chover) { }?> echo Vai chover! ; 17
Variáveis numéricas <?php $a = 10; // decimal $b = 0333; // octal $c = 0x1A; // hexadecimal $d = 1.4444; // ponto flutuante $e = 5e8; // potencializacao?> 18
Variáveis de texto <?php $a = Texto ; // literal $b = Texto ; // interpretável?> 19
Variáveis tipo Array <?php $vetor = array( a, b, c ); echo $vetor[0];?> 20
Variáveis tipo Array numérico index são números associativo index são IDs não-numéricos multidimensional cada elemento pode ser um um novo array 21
numérico $var[0] = Elemento associativo $var[ ID ] = Elemento multidimensional $var[ ID ] = array( Elemento =>10) 22
Exercício Crie um array multidimensional que armazene os dados acima 23
Exercício <?php $empresa = array( UDF => array( Campus 2 => array( Sistemas => Thiago, Engenharia => João ), Campus 1 => array( Direito => Marcela, Psicologia => André ) ) );?> 24
Variáveis tipo objeto <?php class Carro{ } var $motor; function ligar(){ } $obj = new Carro; $obj- >motor = 2.0 ; $obj- >ligar();?> echo Ligando o carro... ; 25
Variáveis tipo resource ponteiros para arquivos especiais sockets de rede, pipes... resource mysql_connect(...) 26
Variável mista gettype(mixed var) - qualquer tipo de variável str_replace(mixed var) - string ou array 27
Variável NULL variável sem valor $x = NULL 28
Variável callback variável é nome de função call_user_func( minha_funcao ); 29
Constantes em PHP <?php define( CONSTANT, 500); echo CONSTANT;?> 30
Op. Descrição == Igual. Resulta verdadeiro se as expressões forem iguais. === Idêntico. Resulta verdadeiro se as expressões possuírem o mesmo valor e tipo.!= ou <> Diferente. Resulta verdadeiro se as expressões forem diferentes. < Menor > Maior que <= Menor ou igual >= Maior ou igual Operadores Relacionais 31
Operadores Descrição + Adição - Subtração * Multiplicação / Divisão % Módulo (resto da divisão) Operadores Aritméticos 32
Operadores matemáticos em PHP <?php $var += 5; $var - = 5; $var *= 5; $var /= 5;?> 33
Operadores ++$a $a++ - - $a $a- - Descrição Pré-incremento. Incrementa $a em um e, então, retorna $a. Pós-incrementa. Retorna $a e, então, incrementa $a em um. Pré-decremento. Decrementa $a em um e, então, retorna $a. Pós-decremento. Retorna $a e, então, decrementa $a em um. Iteradores 34
Operadores ($a and $b) ($a && $b) ($a or $b) ($a $b) ($a xor $b) (! $a) Descrição E: Verdadeiro (TRUE) se tanto $a quanto $b forem verdadeiros OU: Verdadeiro (TRUE) se $a ou $b forem verdadeiros XOR: Verdadeiro (TRUE) se $a ou $b forem verdadeiros, de forma exclusiva NOT: Verdadeiro (TRUE) se $a for FALSE Operadores Lógicos 35
Operadores lógicos <?php $vai_chover = TRUE; $esta_frio = TRUE; if($vai_chover and $esta_frio){ }?> echo Não irei sair de casa ; 36
Estruturas de controle em PHP if while for switch break continue foreach 37
Estruturas de controle em PHP if if(expressao){ verdadeira; } elseif(expressao) { falsa e verdadeira; } else { } falsa e falsa; 38
Estruturas de controle em PHP while while(expressao){ comandos; } 39
Estruturas de controle em PHP for for(expr1;expr2;expr3){ comandos; } 40
Estruturas de controle em PHP switch switch($expressao){ } case valor 1 : comandos; break; case valor 2 : comandos; break; default: comandos; 41
Estruturas de controle em PHP foreach laço de repetição para arrays foreach($array as $valor){ comandos; } 42
Estruturas de controle em PHP continue ignora o ciclo atual do laço e continua para o próximo ciclo for (...) { } if ($x == 0) continue; 43
Estruturas de controle em PHP break aborta o laço atual ou N níveis for (...){ } for (...){ if ($x == 0) break 2; } 44
Inclusão de códigos-fonte externos include require include_once require_once 45
Adição de arquivos externos include <?php include biblioteca.php ;?> 46
Adição de arquivos externos require apenas produz warning se o arquivo não for encontrado <?php require biblioteca.php ;?> 47
Adição de arquivos externos Como evitar importar o mesmo arquivo duas vezes? include_once require_once 48
Criação de funções em PHP <?php // exemplo de funcao function nome_da_funcao($arg1, $arg2 = null){ }?> $valor = $arg1 + $arg2; return $valor; 49
Variáveis globais em PHP <?php $total = 0; function km2mi($kms){ } global $total; $total += $kms; return $kms * 0,6; echo percorreu.km2mi(100). milhas\n ;?> 50
Exercício Criar uma função recursiva para cálculo de fatorial exemplo de uso da função <? echo 9! =.fatorial(9);?> 51
Exercício <?php function fatorial($num){ if ($num == 1){ return $num; } else { return $num * fatorial($num - 1); } } echo 9! =.fatorial(9); echo 6! =.fatorial(6);?> 52
Funções diversas em PHP date() date_default_timezone_set() substr() strlen() is_array() method_exists() array_push() 53
Documentação PHP 54
Revisão o que é PHP tipos de variáveis inclusão de arquivos externos estruturas de controle operadores lógicos iteradores operadores aritméticos constantes matrizes comandos básicos em PHP 55
Empresa Brasileira de Comunicação (CESPE) Após ser executado o código PHP a seguir, a variável $count apresentará o valor 3. <?php $text = Ordem e progresso ; $searchvar = e ; $count = 0 ; //zero for ($i = 0; $i<strlen($text); $i = $i+1) { if (substr($text, $i, 1) == $searchchar) { $count = $count + 1; } } echo $count;?> a) Certo b) Errado 56
Empresa Brasileira de Comunicação (CESPE) Após ser executado o código PHP a seguir, a variável $count apresentará o valor 3. <?php $text = Ordem e progresso ; $searchvar = e ; $count = 0 ; //zero for ($i = 0; $i<strlen($text); $i = $i+1) { if (substr($text, $i, 1) == $searchchar) { $count = $count + 1; } } echo $count;?> a) Certo b) Errado 56
Secretaria de Desenvolvimento Econômico - SC a) 1 b) 2 c) 3 d) 4 e) 5 (CONSULPLAN) Quantos tipos de array temos no PHP? 57
Secretaria de Desenvolvimento Econômico - SC a) 1 b) 2 c) 3 d) 4 e) 5 (CONSULPLAN) Quantos tipos de array temos no PHP? 57
Empresa Brasileira de Comunicação (CESPE) O código PHP a seguir imprimirá Resultado - 33 se executado. <?php $var = 3; echo Resultado -.($var + 3);?> a) Certo b) Errado 58
Empresa Brasileira de Comunicação (CESPE) O código PHP a seguir imprimirá Resultado - 33 se executado. <?php $var = 3; echo Resultado -.($var + 3);?> a) Certo b) Errado 58
Empresa Brasileira de Comunicação (CESPE) Na linguagem PHP, para se declarar um tipo de dado booleano, é suficiente inserir a instrução $var = true ; a) Certo b) Errado 59
Empresa Brasileira de Comunicação (CESPE) Na linguagem PHP, para se declarar um tipo de dado booleano, é suficiente inserir a instrução $var = true ; a) Certo b) Errado 59