Mini Curso de PHP
-
Upload
rodrigo-bueno-santa-maria-bs-mba -
Category
Technology
-
view
770 -
download
2
Transcript of Mini Curso de PHP
![Page 1: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/1.jpg)
Minicurso deProgramação PHP
PUC Minas Poços de Caldas - WISM 2013
Prof. Rodrigo Santa [email protected]
![Page 2: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/2.jpg)
1. Introdução ao PHP2. Configuração do ambiente para
desenvolvimento3. Variáveis em PHP4. Comandos Condicionais e Controle de fluxo5. Controle de fluxo: Switch6. Controle de fluxo: Laços de repetição7. Arrays em PHP8. Funções em PHP9. PHP e Banco de Dados MySQL10.PHP Orientado a Objetos11.Visão Geral: Frameworks PHP
Conteúdo do Minicurso
![Page 3: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/3.jpg)
Sobre o professorProf.RodrigoBuenoSantaMariaE-mail:[email protected]
FormaçãoAcadêmica• BacharelemCiência daComputaçãopelaPUCMinasPoçosdeCaldas.•MBAExecutivo InternacionalemGerenciamento deProjetospelaFundaçãoGetúlioVargaseOhioUniversity,USA.
FormaçãoProfissional• AnalistaeDesenvolvedorJavanaIBMBrasilpor5anos.•DiretorFundadordaDigitallyMade DesenvolvimentoWebdesde2006,comatuaçãoemtodooBrasil,alémdosEstadosUnidos,Canadá,eJapãocomclientescomoaRedeGloboInternacional - filialTokyo,Japão.• Atuanomercadowebdesde2001comlargaexperiência emprogramaçãowebcomPHP,HTML5,CSS3,Javascript(jQuery),Web2.0eAcessibilidade.•Nashorasvagasatuacomprogramaçãoeintegraçãocomhardware,utilizandoomicrocontroladorArduino.
![Page 4: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/4.jpg)
Comunicação na internet• O cliente (navegador web) requisita uma
página ao servidor.• O servidor web responde a requisição com a
página requisitada e a envia ao cliente.
Cliente(Navegador Web) Servidor Web
Armazenamento(HD)
Armazenamento(Banco de Dados)
Requisição
Retorno
![Page 5: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/5.jpg)
Protocolo HTTP• Hypertext Transfer Protocol (HTTP) é o
protocolo utilizado para enviar e receber informações na web.
• É baseado em requisições e respostas entre clientes e servidores.
• Exemplo de requisição HTTP:– GET / HTTP/1.1
• Foi criado especificamente para a World Wide Web.
![Page 6: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/6.jpg)
Clientes HTTP• Os clientes de uma conexão HTTP são
os browsers (navegadores).• São capazes de enviar requisições
HTTP e processar os retornos recebidos, exibindo a página da web.
• Exemplos: Google Chrome, Internet Explorer, Mozilla Firefox, Opera, etc.
![Page 7: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/7.jpg)
Servidores HTTP• São serviços HTTP que disponibilizam
as páginas na Internet.• Exemplos:
– Apache HTTP Server– Microsoft Internet Information Services
![Page 8: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/8.jpg)
Páginas da internet• São codificadas em linguagem HTML
(HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto).
• Possuem ligações de hipertexto.• São hospedadas por um servidor
web.
![Page 9: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/9.jpg)
A linguagem PHP• PHP = "PHP: Hypertext Preprocessor",
originalmente Personal Home Page.• Criada por Rasmus Lerdorf em 1995.• É executada no lado do servidor.• É interpretada pelo módulo do PHP
instalado no servidor HTTP.• Atualmente na versão 5.5.• Mais em www.php.net
![Page 10: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/10.jpg)
Características da linguagem PHP
• Velocidade, robustez, sintaxe similar à Linguagem C/C++, Perl e Java.
• Portabilidade com independência de plataforma.
• Bem estruturada, suporte a orientação a objetos e tipagem fraca.
• Manual do PHP:– http://php.net/manual/pt_BR/
![Page 11: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/11.jpg)
Exemplo linguagem PHP<?php
echo “Olá mundo!”;
?>
![Page 12: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/12.jpg)
Configuração do ambiente• Passo 1:
– Instalação e configuração do Apache• Passo 2:
– Instalação e configuração do PHP• Passo 3:
– Instalação e configuração do MySQL• Passo 4:
– Instalação e configuração do PhpMyAdmin• Mais detalhes acessar:
– http://goo.gl/Xu68n
![Page 13: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/13.jpg)
Sugestão de Livros
Use a Cabeça! PHP & MySQLEditora: Alta BooksAutor: LYNN BEIGHLEY & MICHAEL MORRISONISBN: 9788576085027
Dominando PHP e MySQLEditora: Alta Books
Autor: W. JASON GILMOREISBN: 9788576083023
![Page 14: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/14.jpg)
A linguagem PHP
• PHP = "PHP: Hypertext Preprocessor", originalmente Personal Home Page.
• Criada por Rasmus Lerdorf em 1995.• É executada no lado do servidor.• É interpretada pelo módulo do PHP
instalado no servidor HTTP.• Atualmente na versão 5.5.• Mais em www.php.net
![Page 15: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/15.jpg)
Grandes sites feitos em PHPConheçaabaixoalgunsgrandessitesdesenvolvidosnestalinguagem:
![Page 16: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/16.jpg)
Características da linguagem PHP• Velocidade, robustez, sintaxe similar à
Linguagem C/C++, Perl e Java.• Portabilidade com independência de
plataforma.• Bem estruturada, suporte a orientação a
objetos e tipagem fraca.• Manual do PHP:
– http://php.net/manual/pt_BR/
![Page 17: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/17.jpg)
Vantagens
• Ótima performance• Comunidade bastante ativa• Suporte de grandes empresas• Possibilidade de geração dinâmica de
imagens, arquivos PDF, etc.• Suporte a ampla variedade de SGBDs• Hospedagem web simples e barata• Extensa API
![Page 18: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/18.jpg)
Desvantagens
• Mistura de programação estruturada com POO
• Facilidade de escrita de código de difícil manutenção
• Linguagem de script (não gera código binário)
• Não é muito bem aceita no mercado corporativo (mas isso está mudando)
![Page 19: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/19.jpg)
Frameworks PHP
• CakePHP, Zend Framework, Symfony, CodeIgniter, Yii framework, Prado, Akelos, etc.
• Pela grande variedade, fica até difícil decidir qual utilizar.
• Mais em:http://www.phpframeworks.com
![Page 20: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/20.jpg)
Configuração Comum:LAMP / WAMP
![Page 21: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/21.jpg)
Mercado de Trabalho
Sobrinhos
• Copiou• Colou• Funcionou• Beleza!
Profissionais
• Atuam de forma profissional
• Estudo constante• Valorizam o mercado• Estão em falta no
mercado
X
![Page 22: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/22.jpg)
Delimitadores
<?php?>
<??>
<%%>
Configuráveis via php.ini
Fortemente recomendado
![Page 23: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/23.jpg)
Palavras Reservadasbreak abstract and array() asclone const case catch classendswitch do continue declare defaultfinal enddeclare echo else elseifgoto endwhile endfor endforeach endifinstanceof for foreach function extendsnamespace if implements include globalprotected insteadof interface print include_oncestatic new or require_once privateunset() public require while return
switch throw tryuse var xor
![Page 24: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/24.jpg)
Comentários• Comentários de uma linha:<php
echo “Teste 1”; // meu comentárioecho “Teste 2”; # meu comentário
?>
• Comentários de mais de uma linha:<php
echo “Teste 1”; /* Este é um comentário que pode ter mais de uma linha */
?>
![Page 25: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/25.jpg)
Olá Mundo – HTML + PHP<html>
<head><title>Exemplo</title>
</head><body>
<?phpecho "Olá, Mundo!";
?></body>
</html>
![Page 26: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/26.jpg)
Atribuições<?php$variavel_1 = "Uma string";$variavel_2 = 'Outra string';
// Concatenando strings
echo $variavel_1 . $variavel_2;
?>
![Page 27: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/27.jpg)
Atribuições<?php$x = 1; // inteiro
$y = 10.99; // float (double)
$z = $x*$y;$a = $x+"1"; // 2 (int)$b = $x."1"; // 11 (string)?>
![Page 28: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/28.jpg)
Estruturas Condicionais<?php$x = 1;if ( $x == 1 ) {
echo "x == 1";} else if ( $x > 1 ) {
echo "x maior que 1";} else {
echo "x menor que 1";}?>
![Page 29: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/29.jpg)
Estruturas de Repetição<?phpfor ( $i=0; $i<=9; $i++ ) {echo ‘$i=‘ . $i;
}echo PHP_EOL; // Quebra de linhawhile ( $i > 0 ) {echo ‘$i=‘ . $i;$i--;}
![Page 30: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/30.jpg)
Arrays<?php$a = array();$a[2009] = "Lancado PHP 5.3";
$a[1995] = 'Criado PHP';
$a[2000] = "Lancado PHP 4";$a[2004] = "Lancado PHP 5";
asort($a);foreach ($a as $ano=>$texto) {
echo "Em {$ano}: $texto" . PHP_EOL ;
}
/*
Em 1995: Criado PHP
Em 2000: Lancado PHP 4
Em 2004: Lancado PHP 5
Em 2009: Lancado PHP 5.3
*/
![Page 31: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/31.jpg)
Funções<?phpfunction somar($a, $b) {
return $a + $b;
}
function debug($a , $tag = '[Debug] ') {
$tipo = gettype($a);echo $tag . $a . " ({$tipo})";
}
echo somar(2,3) . PHP_EOL ; // 5
echo debug("42"); // [Debug] 42 (string)?>
![Page 32: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/32.jpg)
Inclusão de arquivos<?phpinclude '/path/para/arquivo.php';
// include_once
// require
// require_once
$o = new Classe_Do_Arquivo();
?>
![Page 33: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/33.jpg)
Vamos para a prática???
![Page 34: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/34.jpg)
COMANDOS DE CONDIÇÃO –Utilizando if() - else if() - else
![Page 35: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/35.jpg)
Exercício 1
• Escreva um algoritmo PHP que receba um valor gerado aleatoriamente (rand()) e imprima o texto "o valor é maior que 10" caso isso seja verdade, senão imprima "o valor é menor que 10".
![Page 36: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/36.jpg)
Exercício 2
• Escreva um algoritmo PHP que receba um valor gerado aleatoriamente (rand()) e verifique se esse valor é positivo, negativo ou igual a zero. Imprima na tela: "Valor Positivo", "Valor Negativo", "Igual a Zero"
![Page 37: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/37.jpg)
Exercício 3
• Escreva um algoritmo PHP que receba quatro notas de um aluno, calcule e imprima a média aritmética das notas e a mensagem de aprovado para média superior ou igual a 7.0 ou a mensagem de reprovado para média inferior a 7.0.
![Page 38: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/38.jpg)
Exercício 4
• Escreva um algoritmo PHP que receba a altura e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando as seguintes fórmulas:– para homens: (72.7 * H) - 58– para mulheres: (62.1 * H) – 44.7
![Page 39: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/39.jpg)
Exercício 5
• Escreva um algoritmo PHP que calcule e imprima o salário reajustado de um funcionário de acordo com a seguinte regra:– salários até 300, reajuste de 50%– salários maiores que 300, reajuste de
30%
![Page 40: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/40.jpg)
LAÇOS DE REPETIÇÃO –Utilizandndo for() - while() e
funções de String
![Page 41: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/41.jpg)
Exercício 6
• Escreva um algoritmo PHP que receba um valor qualquer e imprima os valores de 0 até o valor recebido, exemplo:– Valor recebido = 9– Impressão do programa – 0 1 2 3 4 5
6 7 8 9
![Page 42: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/42.jpg)
Exercício 7
• Escreva um algoritmo PHP que receba um valor qualquer e calcule o seu fatorial (!), sabendo que fatorial de um número é:– 7! = 7*6*5*4*3*2*1– 4! = 4*3*2*1
![Page 43: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/43.jpg)
Exercício 8
• Escreva um algoritmo PHP que receba dois valores quaisquer e imprime todos os valores intermediários a ele, veja exemplo:– Primeiro Valor = 5– Segundo Valor = 15– Imprime: 6 7 8 9 10 11 12 13 14
![Page 44: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/44.jpg)
Exercício 9
• Escreva um algoritmo PHP que receba dois valores quaisquer e efetue sua multiplicação utilizando para isso apenas o operador “+”, visto que:– (3 * 5) = 5 + 5 + 5– (4 * 12) = 12 + 12 + 12 + 12
![Page 45: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/45.jpg)
Exercício 10
• Escreva um algoritmo PHP que receba uma String, encontre o número total de caracteres desta e imprima todos os números que existem entre 1 e o número total, exemplo:
• String = “Sistemas de Informação”• total_caracteres = 22• Imprime: 1 2 3 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22
Dica: strlen();
![Page 46: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/46.jpg)
Exercício 11
• Escreva um algoritmo PHP que receba duas Strings, e descubra se elas são iguais ou diferentes, imprimindo “IGUAL” ou “DIFERENTE” respectivamente.
![Page 47: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/47.jpg)
Exercício 12
• Escreva um algoritmo PHP que receba uma String e um caractere de busca e descubra o número de ocorrências deste caractere dentro da String. Para isso utilize laço de repetição, e as funções de String “strlen()” e “substr()”.
![Page 48: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/48.jpg)
• Arrays– Numéricos– Associativos– Multidimensionais– Funções para Arrays– Exercícios
• Funções em PHP– Introdução– Funções com e sem retorno– Funções com e sem parâmetros– Exercícios
Próximos tópicos
![Page 49: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/49.jpg)
O que são arrays?• Variáveis que guardam um ou mais valores;• Podem ser indexado por números ou strings;
Array ( [Griffin] => Array (
[0] => Peter [1] => Lois [2] => Megan )
[Quagmire] => Array ( [0] => Glenn )
[Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior
) )
![Page 50: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/50.jpg)
PHP – Arrays Numéricos • Armazena cada elemento de forma numérica;• Podem ter seu índice definido de forma
automática;$nomes = array(“Joao",“Maria",“Jose");
• Ou podem ser definidos manualmente:$nomes[5] = “Joao"; $nomes[32] = “Maria"; $nomes[26] = "Jose";
![Page 51: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/51.jpg)
PHP – Arrays Associativos• Cada índice é associado a um valor
(texto);
Exemplo:$idades = array(‘Joao’=>32, ‘Maria’=>30, "Jose"=>34); Ou assim:$ages[“Joao”] = "32"; $ages[“Maria”] = "30"; $ages['Jose'] = "34";
![Page 52: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/52.jpg)
PHP – Arrays Multidimensionais• Em PHP um array multidimensional é
um array que possui como elementos outros arrays;
$familia = array ("Cordeiro" => array ("Marcos", "Marcelo", "Murilo" ),"Pereira" => array ( "Andressa" ),"Silva" => array ( "Renata", "Marcia", "Junior" )
);
![Page 53: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/53.jpg)
PHP – Arrays MultidimensionaisArray
([Cordeiro] => Array
( [0] => Marcos[1] => Marcelo[2] => Murilo
)[Pereira] => Array
([0] => Andressa)
[Silva] => Array([0] => Renata[1] => Marcia[2] => Junior)
)
![Page 54: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/54.jpg)
Acessando Arrays• Para acessar o conteúdo de um Array
basta informar o índice desejado;• Em $famila[“Pereira”][0] temos o valor
“Andressa”;• Outro modo de visualizar o conteúdo de
um array é com a função print_r(array);
![Page 55: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/55.jpg)
Funções para Arrays• Algumas Funções para manipulação de
Arrays:– count() — Conta o número de elementos
de uma variável ex. count($familia); // retorna um int
– in_array() — Checa se um valor existe em um array ex. in_array(“Cordeiro”); //Retorna true/false
– Mais funções podem ser encontradas em: http://www.php.net/manual/pt_BR/ref.array.php
![Page 56: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/56.jpg)
Exercício 1
• Utilizando uma estrutura de repetição monte um array numérico.
![Page 57: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/57.jpg)
Exercício 2
• Calcule a média de 5 números contidos em um array.
![Page 58: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/58.jpg)
Exercício 3
• Melhore o exercício que gerava seis dezenas aleatórias da Mega Sena agora utilizando arrays para não deixar gerar uma dezena repetida.– Dica: use rand(1,60) para gerar números
aleatórios;
![Page 59: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/59.jpg)
Exercício 4
• Crie um array multi-dimensional (matriz) e use print_r() para exibir a estrutura na tela.
![Page 60: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/60.jpg)
Exercício 5
• Crie um array para armazenar os nomes dos meses do ano e utilize a função date(“w”) para exibir o nome do mês atual.– Dica: a função date(“w”) retorna um número
inteiro de 0 a 6, 0 (para domingo) até 6 (para sábado).
![Page 61: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/61.jpg)
Exercício 6
• Crie um programa que entre com os dados de altura e sexo de 10 pessoas.
• Imprima na tela quantas pessoas são do sexo masculino e quantas pessoas são do sexo feminino.
• Mostre também qual é a maior altura e se essa altura é de um homem ou uma mulher
![Page 62: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/62.jpg)
Exercício 7
• Crie um programa que contenha um array com várias idades de pessoas.
• Exiba quantas pessoas são maior de idade (18 anos) e quantas são menores.
![Page 63: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/63.jpg)
Funções em PHP• Funções são usadas para criar pequenos
trechos de códigos separados;• Elas podem gerar um resultado (o que
chamamos de funções com retorno) ou apenas executar uma rotina (funções sem retorno);
• Sua principal vantagem é condensar um trecho do código e torná-lo utilizável em vários pontos diferentes;
• Toda função deve ter um nome e possuir um delimitador de parâmetro que são identificados com parênteses;
![Page 64: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/64.jpg)
Funções sem retorno• Para criar funções em PHP usamos a palavra-
chave function, então, damos um nome para nossa função.
• A regra geral é seguinte:
function nomeDaFuncao($param1, $param2, $param_n){
código da função};
![Page 65: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/65.jpg)
Funções sem retorno• Exemplo de função sem parâmetros de
entrada:
function nomeDaFuncao(){
código da função};
![Page 66: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/66.jpg)
Funções sem retorno• Exemplo de função simples:
<?php
function ola() {echo ("Bem vindo ao PHP");
};
?>
![Page 67: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/67.jpg)
Funções com retorno• Funções com retorno são criadas da mesma
forma das funções sem retorno. Sua diferença principal é que esta função devolve um resultado para o código usando a palavra reservada return;
• Por exemplo, podemos gerar um resultado de uma soma e devolver este resultado para quem chamou esta função;
![Page 68: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/68.jpg)
Funções com retorno• Exemplo:
<?phpfunction mostrarSomar() {
return 50+50;};
echo "A soma de 50 + 50 é " . mostrarSomar();
?>
![Page 69: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/69.jpg)
Funções com parâmetros• Muitas vezes, funções devem receber dados
para processá-los. A inserção de dados na função é dada por meio dos parâmetros ou argumentos da função.
• Uma função pode ter quantos parâmetros forem necessários desde que cada um seja separado por vírgula e não tenha a mesma denominação.
• Parâmetros ou argumentos possuem as mesmas características de uma variável.
![Page 70: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/70.jpg)
Funções com parâmetros• Exemplo:<?phpfunction somar ($x, $y){ return $x+$y; };function subtrair ($x, $y){ return $x-$y; };function multiplicar ($x, $y){ return $x*$y; };function dividir ($x, $y){ return $x/$y; };$nr1 = 10;$nr2 = 5;echo ("<p>Operações matemáticas:</p>" . "<p>$nr1 + $nr2 = " . somar ($nr1, $nr2) . "<br>$nr1 - $nr2 = " . subtrair ($nr1, $nr2) . "<br>$nr1 * $nr2 = " . multiplicar ($nr1, $nr2) . "<br>$nr1 / $nr2 = " . dividir ($nr1, $nr2) . "</p>");?>
![Page 71: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/71.jpg)
Exercício 1
• Escreva um programa em PHP que tenha uma função chamadameuNome() na qual imprime seu nome completo na página.
![Page 72: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/72.jpg)
Exercício 2
• Escreva um programa que tenha uma função chamada soma() comos argumentos x e y. A função deverá fazer a soma dosargumentos passados.
![Page 73: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/73.jpg)
Exercício 3
• Escreva um programa que tenha uma função impares() que imprima os números ímpares entre um determinado intervalo que é dado como argumento da função.
![Page 74: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/74.jpg)
Exercício 4
• Escreva uma função inverso() que imprima a sequência inversa de dois números passados como argumentos da função.
![Page 75: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/75.jpg)
Exercício 5
• Escreva uma função maior() que retorne o maior número de um array de números inteiros.
• Dica: use a função sort() que ordena um array em ordem decrescente e count() que retorna o número total de itens em um array.
![Page 76: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/76.jpg)
• Principais Funções Nativas do PHP– Funções de String– Funções Matemáticas– Funções para Arrays– Funções para Manipulação de Arquivos– Funções para conexão ao MySQL
• Exemplos práticos
Próximos tópicos
![Page 77: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/77.jpg)
Funções de String
![Page 78: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/78.jpg)
Funções de String• string substr ( string $string , int $start [, int $le
ngth ] )
• Retorna parte de uma string.• string: A string de entrada.• start: Se start não for negativo, a string retornada iniciará na
posição start em string, começando em zero. Por exemplo, na string 'abcdef', o caractere na posição 0 é 'a', o caractere na posição 2 é 'c', e assim em diante. Se start for negativo, a string retornada irá começar no caractere start a partir do fim de string.
• length: Se length for dado e for positivo, a string retornada irá conter length caracteres começando em start (dependendo do tamanho de string). Se a string é menor do que start, será retornado FALSE. Se length for dado e for negativo, então esta quantidade caracteres serão omitidos do final de string (após a posicão de inicio ter sido calculada quando start for negativo). Se start denota uma posição além da truncagem, uma string vazia será retornada.
![Page 79: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/79.jpg)
Funções de String• int strpos ( string $haystack , string $needle [, i
nt $offset ] )
• Retorna a posição numérica da primeira ocorrência de needle dentro de haystack. Diferentemente de strrpos(), esta função pode ter uma string inteira como o parâmetro needle e toda a string será usada.
• Se needle não for encontrado, strpos() irá retornar o boolean FALSE.
![Page 80: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/80.jpg)
Funções de String• int strlen ( string $string )
• Retorna o tamanho (quantidade de caracteres) da string.• string: A string a ter seu tamanho contado.
![Page 81: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/81.jpg)
Funções de String• string md5 ( string $str [, bool $raw_output ] )
• Calcula o "hash MD5" de str usando » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e devolve esse hash.
• str: A string.• raw_output: Se o opcional raw_output é definido
para TRUE, então o md5 é ao invés retornado no formato binário com um tamanho de 16. Padrão para FALSE.
![Page 82: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/82.jpg)
Funções de String• string htmlspecialchars ( string $string [, int $
quote_style [, string $charset ]] )
• Certos caracteres tem significado especial em HTML, e seriam representados pela realidade HTML se eles estão preservanado seus significados. Esta função retorna uma string com algumas destas conversões feitas; As transformações feitas são aquelas mais úteis para programação web. Se você precisa que sejam transformados todos os caracteres da realidade HTML, use htmlentities() no lugar dela.
• As traduções executadas são:– '&' (ampersand) torna-se '&'– '"' (aspas dupla) torna-se '"' quando ENT_NOQUOTES não está definida.– ''' (aspas simples) torna-se ''' apenas quando ENT_QUOTES está definida.– '<' (menor que) torna-se '<'– '>' (maior que) torna-se '>'
![Page 83: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/83.jpg)
Funções de String• string htmlspecialchars ( string $string [, int $
quote_style [, string $charset ]] )
• Certos caracteres tem significado (notação) especial em HTML. Esta função retorna uma string com algumas destas conversões feitas; As transformações feitas são aquelas mais úteis para programação web.
• As traduções executadas são:– '&' (ampersand) torna-se '&'– '"' (aspas dupla) torna-se '"' quando ENT_NOQUOTES não está
definida.– ''' (aspas simples) torna-se ''' apenas quando ENT_QUOTES está
definida.– '<' (menor que) torna-se '<'– '>' (maior que) torna-se '>'
![Page 84: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/84.jpg)
Funções de String• string htmlentities ( string $string [, int $quote
_style [, string $charset [, bool $double_encode]]] )
• Esta função é idêntica a htmlspecialchars(), exceto que com htmlentities(), todos caracteres que tem entidade HTML equivalente são convertidos para estas entidades.
• Algumas das traduções executadas são:– º para 'º‘– ª para 'ª‘– á para 'á‘– ç para 'ç'
![Page 85: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/85.jpg)
Funções de String• string nl2br ( string $string )
• Retorna string com '<br />' inserido antes de todas as newlines.
• string: A string de entrada.
![Page 86: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/86.jpg)
Funções de String• array get_meta_tags ( string $filename [, bool
$use_include_path ] )• Abre um arquivo html e percorre o cabeçalho em busca de
"meta" tags, Devolvendo num array todos os valores encontrados.
• Exemplo:No arquivo teste.html temos:...<head><meta name="author" content="jose"><meta name="tags" content="php3 documentation">...</head><!-- busca encerra aqui -->...
• Execução da função:get_meta_tags("teste.html");–Devolve o array:array("author"=>"jose","tags"=>"php3 documentation");
![Page 87: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/87.jpg)
Funções de String• string strip_tags ( string $str [, string $allowabl
e_tags ] )
• Esta função retorna uma string retirando todas as tags HTML e PHP de str.
• str: A string de entrada.• allowable_tags: Você pode utilizar o segundo parâmetro, que é opcional, para
indicar tags que não devam ser retiradas.
![Page 88: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/88.jpg)
Funções de String• string urlencode ( string $str )
• Devolve a string fornecida, convertida para o formato urlencode. Esta função é útil para passar variáveis para uma próxima página.
• Exemplo:<?phpecho '<a href=“meuscript.php?var=', urlencode($entrada_usuario), '">';?>
![Page 89: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/89.jpg)
Funções de String• string urldecode ( string $str )
• Funciona de maneira inversa a urlencode, desta vez decodificando a string fornecida do formato urlencode para texto normal.
![Page 90: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/90.jpg)
Funções de String• mixed str_replace ( mixed $search , mixed $re
place , mixed $subject [, int &$count ] )
• Esta função retorna uma string ou um array com todas as ocorrências de search em subject substituídas com o valor dado para replace.
![Page 91: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/91.jpg)
Funções de String• string number_format ( float $number [, int $d
ecimals = 0 ] )
• Formata uma variável float em um número usando virgulas e pontos para formatação do valor.
<?php$number = 1200.5;$reais = number_format($number, 2, ‘.', ‘,');echo $reais;?>
![Page 92: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/92.jpg)
Funções de String• Outras funções comuns:Função Descrição
string strtolower ( string $str ) Retorna string com todos os caracteres do alfabeto convertidos para minúsculas.
string strtoupper ( string $string ) Retorna string com todos os caracteres do alfabeto convertidos para maiúsculas.
string ucwords ( string $str ) Retorna uma string com o primeiro caractere de cada palavra em str em maiúscula, se este caractere fizer parte do alfabeto.
string trim ( string $str [, string $charlist ] )
Retira espaço no ínicio e final de uma string
![Page 93: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/93.jpg)
Funções Matemáticas
![Page 94: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/94.jpg)
Funções Matemáticas• float round ( float $val [, int $precision ] )
• Retornar um valor arredondado de val em precision casas decimais. precision pode ser negativo ou zero (padrão).
• val: O valor para arredondar• precision: O número opcional de dígitos decimais para arredondar, o padrão é 0
![Page 95: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/95.jpg)
Funções Matemáticas• float ceil ( float $value )
• Retorna o próximo maior valor inteiro arredondando para cima do value, se fracionário.
• value: O valor para arredondar
![Page 96: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/96.jpg)
Funções Matemáticas• float floor ( float $value )
• Retorna o próximo menor valor inteiro ao se arredondar para baixo o valor, se necessário.
• value: O valor para arredondar
![Page 97: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/97.jpg)
Funções Matemáticas• number pow ( number $base , number $exp )
• Retorna a base elevada ao expoente exp.
• base: A base para usar• exp: O expoente
![Page 98: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/98.jpg)
Funções Matemáticas• float sqrt ( float $arg )
• Retorna a raiz quadrada de arg.
• arg: O argumento para processar
![Page 99: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/99.jpg)
Funções Matemáticas• Outras funções comuns:Função Descrição
float tan ( float $arg ) tan() retorna a tangente do parâmetro arg. O argumento arg deve estar em radianos.
float sin ( float $arg ) sin() retorna o seno do parâmetro arg. O argumento arg deve estar em radianos.
float cos ( float $arg ) cos() retorna o coseno de arg. O parâmetro arg deve estar em radianos.
float log ( float $arg [, float $base ] )
Se o parâmetro opcional base for informado, log() retorna logbase arg, senão log() retorna o logaritmo natural de arg.
![Page 100: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/100.jpg)
Funções de Arrays
![Page 101: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/101.jpg)
Funções de Arrays• bool shuffle ( array &$array )
• Essa função mistura de forma aleatória os elementos de um array.
![Page 102: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/102.jpg)
Funções de Arrays• bool sort ( array &$array [, int $sort_flags ] )
• Essa função ordena um array. Os elementos serão ordenados do menor para o maior ao final da execução dessa função.
![Page 103: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/103.jpg)
Funções de Arrays• bool rsort ( array &$array [, int $sort_flags ] )
• Essa função ordena um array em ordem descrescente (do maior para o menor).
![Page 104: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/104.jpg)
Funções de Arrays• string implode ( string $glue , array $pieces )
• Retorna uma string contendo os elementos da matriz na mesma ordem com uma ligação entre cada elemento.
<?php
$array = array('lastname', 'email', 'phone');$comma_separated = implode(",", $array);
print $comma_separated; // lastname,email,phone
?>
![Page 105: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/105.jpg)
Funções de Arrays• array explode ( string $delimiter , string $string
[, int $limit ] )
• Retorna uma matriz de strings, cada uma como substring de string formada pela divisão dela a partir do delimiter.
<?php// Example 1$pizza = "piece1 piece2 piece3 piece4 piece5piece6";$pieces = explode(" ", $pizza);echo $pieces[0]; // piece1echo $pieces[1]; // piece2
...?>
![Page 106: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/106.jpg)
Funções de Arrays• int count ( mixed $var [, int $mode ] )
• Conta os elementos de um array, ou propriedades em um objeto.
<?php$a[0] = 1;$a[1] = 3;$a[2] = 5;$result = count($a);// $result == 3?>
![Page 107: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/107.jpg)
Funções de Arrays• array array_merge ( array $array1 [, array $arr
ay2 [, array $... ]] )
• Funde os elementos dois ou mais arrays de forma que os elementos de um são colocados no final do array anterior. Retorna o array resultante da fusão.
<?php$array1 = array("cor" => "vermelho", 2, 4);$array2 = array("a", "b", "cor" => "verde",
"forma" => "trapezoide", 4);$result = array_merge($array1, $array2);print_r($result);?>
![Page 108: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/108.jpg)
Funções de Manipulaçãode Arquivos
![Page 109: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/109.jpg)
Funções de Manipulação de Arquivos
• resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
• fopen() conecta um recurso nomeado, especificado por filename, a um stream.
• <?php$handle = fopen("/home/rasmus/file.txt", "r");
• ?>
![Page 110: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/110.jpg)
Funções de Manipulação de Arquivos
• bool fclose ( resource $handle )
• O arquivo apontado por handle é fechado.
• <?phpfclose($handle);
• ?>
![Page 111: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/111.jpg)
Funções de Manipulação de Arquivos
• string fgets ( resource $handle [, int $length ] )
• Retorna uma linha do ponteiro do arquivo.
<?php$handle = @fopen("/tmp/arquivodeentrada.txt",
"r");if ($handle) {
while (!feof($handle)) {$buffer = fgets($handle, 4096);echo $buffer;
}fclose($handle);
}?>
![Page 112: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/112.jpg)
Funções de Manipulação de Arquivos
• array file ( string $filename [, int $flags [, resource $context ]] )
• Carrega todo um arquivo em um array.
<?php$lines = file ('http://www.example.com/');
foreach ($lines as $line_num => $line) {echo "Linha #<b>{$line_num}</b> : " .
htmlspecialchars($line) . "<br>\n";}
?>
![Page 113: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/113.jpg)
Funções de Manipulação de Arquivos
• string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen ]]]] )
• Carrega todo um arquivo para uma string.
<?php
$arquivo = file_get_contents(‘teste.txt');echo $arquivo;
?>
![Page 114: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/114.jpg)
Funções de Conexãocom o MySQL
![Page 115: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/115.jpg)
Funções de Conexão com o MySQL
• resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )
• Abre ou reutiliza uma conexão com um servidor MySQL.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Não foi possível conectar: ' . mysql_error());
}echo 'Conexão bem sucedida';mysql_close($link);?>
![Page 116: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/116.jpg)
Funções de Conexão com o MySQL
• bool mysql_close ([ resource $link_identifier ] )
• Fecha a conexão MySQL.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Não foi possível conectar: ' . mysql_error());
}echo 'Conexão bem sucedida';mysql_close($link);?>
![Page 117: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/117.jpg)
Funções de Conexão com o MySQL
• string mysql_error ([ resource $link_identifier ] )
• Retorna o texto da mensagem de erro da operação MySQL anterior.
<?php$link = mysql_connect("localhost", "mysql_user",
"mysql_password");
mysql_select_db("nonexistentdb", $link);echo mysql_errno($link) . ": " . mysql_error($link).
"\n";?>
![Page 118: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/118.jpg)
Funções de Conexão com o MySQL
• bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
• Seleciona um banco de dados MySQL. Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Not connected : ' . mysql_error());}
// seleciona o db$db_selected = mysql_select_db(‘teste', $link);if (!$db_selected) {
die (‘Erro ao selecionar o DB teste: ' . mysql_error());
}?>
![Page 119: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/119.jpg)
Funções de Conexão com o MySQL
• resource mysql_query ( string $query [, resource $link_identifier ] )
• Envia uma consulta MySQL.
<?php$result = mysql_query('SELECT * WHERE 1=1');if (!$result) {
die('Invalid query: ' . mysql_error());}
?>
![Page 120: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/120.jpg)
Funções de Conexão com o MySQL
• array mysql_fetch_array ( resource $result [, int $result_type ] )
• Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante.
<?phpmysql_connect("localhost", "mysql_user",
"mysql_password") ordie("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result)) {printf("ID: %s Name: %s", $row[“id”],
$row[“name”]); }mysql_free_result($result);?>
![Page 121: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/121.jpg)
Funções de Conexão com o MySQL
• bool mysql_free_result ( resource $result )
• Libera um resultado da memória.
<?php$result = mysql_query("SELECT id,email FROM people WHERE id =
'42'");if (!$result) {
echo 'Não foi possível executar a consulta: ' . mysql_error();exit;
}
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
echo $row['id'];echo $row['email'];?>
![Page 122: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/122.jpg)
• Conexão PHP ao MySQL• Diagrama de funcionamento• Funções de conexão com o MySQL• Exercícios práticos
Próximos tópicos
![Page 123: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/123.jpg)
Conexão PHP ao MySQL• PHP e MySQL formam um conjunto poderoso
para o desenvolvimento de aplicações web que utilizam bancos de dados.
• O PHP permite conexões de forma nativa na linguagem, possibilitando facilidade na utilização de bancos de dados.
• Além do MySQL, a linguagem PHP suporta diversos SGBD's como Oracle, Sybase, Interbase(Firebird), mSQL, Microsoft SQL Server, MSSQL, MySQL, PostgreSQL, entre outros.
![Page 124: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/124.jpg)
Diagrama de Funcionamento
Banco de DadosMySQL
Aplicação PHPUsuário Final
(front-end)SQL Interação
Importante saber:•Host (endereço) do servidor•Usuário•Senha•Nome do banco de dados
![Page 125: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/125.jpg)
Funções de Conexãocom o MySQL
![Page 126: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/126.jpg)
Funções de Conexão com o MySQL
• Abaixo temos uma lista das funções mais utilizadas quando estamos lidando com conexão ao MySQL. Veremos em detalhes a seguir.– mysql_connect()– mysql_close()– mysql_select_db()– mysql_error()– mysql_errorno()– mysql_query()– mysql_fetch_array()– mysql_free_result()
![Page 127: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/127.jpg)
Funções de Conexão com o MySQL
• resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )
• Abre ou reutiliza uma conexão com um servidor MySQL.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Não foi possível conectar: ' . mysql_error());
}echo 'Conexão bem sucedida';mysql_close($link);?>
![Page 128: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/128.jpg)
Funções de Conexão com o MySQL
• bool mysql_close ([ resource $link_identifier ] )
• Fecha a conexão MySQL.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Não foi possível conectar: ' . mysql_error());
}echo 'Conexão bem sucedida';mysql_close($link);?>
![Page 129: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/129.jpg)
Funções de Conexão com o MySQL
• bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
• Seleciona um banco de dados MySQL. Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
<?php$link = mysql_connect('localhost', 'mysql_user',
'mysql_password');if (!$link) {
die('Not connected : ' . mysql_error());}
// seleciona o db$db_selected = mysql_select_db(‘teste', $link);if (!$db_selected) {
die (‘Erro ao selecionar o DB teste: ' . mysql_error());
}?>
![Page 130: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/130.jpg)
Funções de Conexão com o MySQL
• string mysql_error ([ resource $link_identifier ] )
• Retorna o número do erro da ultima função MySQL.
<?php$link = mysql_connect("localhost", "mysql_user",
"mysql_password");
mysql_select_db(”bd_inesistente", $link);Echo mysql_error($link). "\n";?>
![Page 131: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/131.jpg)
Funções de Conexão com o MySQL
• int mysql_errorno ([ resource $link_identifier ] )
• Retorna o texto da mensagem de erro da operação MySQL anterior.
<?php$link = mysql_connect("localhost", "mysql_user",
"mysql_password");
mysql_select_db(”bd_inesistente", $link);echo “Erro nro ”.mysql_errno($link) . "\n";?>
![Page 132: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/132.jpg)
Funções de Conexão com o MySQL
• resource mysql_query ( string $query [, resource $link_identifier ] )
• Envia uma consulta MySQL.
<?php$result = mysql_query('SELECT * WHERE 1=1');if (!$result) {
die(’Query Inválida: ' . mysql_error());}
?>
![Page 133: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/133.jpg)
Funções de Conexão com o MySQL
• array mysql_fetch_array ( resource $result [, int $result_type ] )
• Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante.
<?phpmysql_connect("localhost", "mysql_user",
"mysql_password") ordie("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, nomeFROM tabela");
while ($row = mysql_fetch_array($result)) {printf("ID: %s Nome: %s", $row[“id”],
$row[“name”]); }mysql_free_result($result);?>
![Page 134: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/134.jpg)
Funções de Conexão com o MySQL
• bool mysql_free_result ( resource $result )
• Libera um resultado da memória.
<?php$result = mysql_query("SELECT id, email FROM pessoa WHERE id =
'42'");if (!$result) {
echo 'Não foi possível executar a consulta: ' . mysql_error();exit;
}
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
echo $row['id'];echo $row['email'];?>
![Page 135: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/135.jpg)
ExercíciosPráticos
![Page 136: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/136.jpg)
Exercícios• 1) Crie um mural de recados em PHP com MySQL.
Os dados a serem solicitados são:–Nome–E-mail–Cidade–Recado
–Todos os dados deverão ficar salvos em um banco de dados a ser criado.
–Haverá uma página para o usuário fazer a inserção do recado e outra página para fazer a leitura dos recados.
![Page 137: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/137.jpg)
Exercícios• 2) Crie um sistema de biblioteca onde seja possível
buscar livros pelo título e listar os livros cadastrados.
Os dados dos livros são:–Nome–Autor–Editora–Resenha
–Haverá uma página para a listagem de todos os livros cadastrados.–Haverá um campo de busca que irá filtrar os livros e exibir na mesma listagem.–Cada item da listagem deverá exibir apenas o nome do livro e conter um link que levará a outra página com todos os dados do livro.
![Page 138: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/138.jpg)
• PHP Orientado a Objetos (OO)– Similaridade com Java– Definição de classes– Interfaces– Heranças
Próximos tópicos
![Page 139: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/139.jpg)
PHP OO – Similaridade com Java
• A programação PHP utilizando orientação a objetos lembra muito o Java.
• O PHP permite a criação de classes, com métodos e atributos private, public, protected e static.
![Page 140: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/140.jpg)
Classes em PHP• Abaixo um trecho de código de uma
classe:
class teste() {
}
$objeto = new teste();
![Page 141: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/141.jpg)
Interfaces em PHP• Interfaces de Objetos permite a criação
de código que especifica quais métodos e variáveis uma classe deve implementar, sem ter que definir como esses métodos serão tratados.
• Interfaces são definidas usando a palavra-chave 'interface', da mesma maneira que uma classe comum, mas sem nenhum dos métodos ter seu conteúdo definido.
class teste() {
![Page 142: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/142.jpg)
Interfaces em PHPinterface minhaInterface() {
public functionsetVar($var);
public function getHTML();
}
![Page 143: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/143.jpg)
Utilizando uma interfaceclass Teste implements minhaInterface() {
public function setVar($var){...}
public function getHTML(){...}
}
![Page 144: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/144.jpg)
PHP OO – Herança
• Herança é a caracteristica de um filho obter algumas características do pai.
• Através da herança entre classes, uma classe filha herda atributos e métodos da classe pai.
• Não existem limite de níveis de herança, porém, múltipla herança explícita não é suportada no PHP.
![Page 145: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/145.jpg)
Herança em PHP<?phpclass Veiculo{
public $marcha;public $quantidadeRodas;public function passarMarcha(){
// código}public function andar(){
// código}
}
?>
![Page 146: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/146.jpg)
Herança em PHP<?php
class Carro extends Veiculo{
public function __construct(){
$this->quantidadeRodas = 4;}
}
$carro = new Carro();$carro->andar();?>
![Page 147: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/147.jpg)
• Frameworks PHP– Definição– Frameworks mais usados– Vantagens– Desvantagens
• Framework CodeIgniter– Introdução– Padrão MVC– Exercícios práticos
Próximos tópicos
![Page 148: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/148.jpg)
Frameworks PHP: O que são?• Os frameworks, sejam eles escritos em PHP
ou em qualquer outra linguagem, oferecem ao programador um conjunto de códigos prontos que permitem realizar as tarefas predefinidas no desenvolvimento de um aplicativo. Por oferecer essa estrutura básica, os frameworks tornam o desenvolvimento mais rápido e reduzem o volume de código repetitivo escrito pelo programador.
• Os frameworks também ajudam os programadores iniciantes a criar aplicativos mais estáveis, mesmo que eles ainda não dominem completamente a linguagem de programação e todas as outras tecnologias necessárias para fazer o aplicativo funcionar.
![Page 149: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/149.jpg)
Frameworks PHP mais usados1. Yii2. CodeIgniter3. CakePHP4. Zend5. Symfony6. PHPDevShell7. Prado8. Akelos9. ZooP10.QPHP
Fonte: http://www.phpframeworks.com/top-10-php-frameworksEm Maio de 2013
![Page 150: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/150.jpg)
Frameworks: Vantagens• Código previamente testado• Grande base de uso (reutilização de código)• Não precisa “reinventar a roda”• Experiência agregada• Enfoque no mais importante: as regras de
negócios• Agilidade no desenvolvimento• Melhor segurança• Melhor estabilidade
![Page 151: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/151.jpg)
Frameworks: Desvantagens• Performance• Curva de aprendizado• Dependência
![Page 152: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/152.jpg)
Framework CodeIgniter• Desenvolvido pela empresa Ellis Lab• Licença liberada para uso em qualquer tipo de
projeto (inclusive comerciais)• Ótima documentação• Grande comunidade de desenvolvedores• Comprometimento com os usuários• Estruturado em MVC• Small footprint• Baixa curva de aprendizado• Versão Atual: 2.1.4
![Page 153: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/153.jpg)
Padrão MVC• É um padrão de projeto (design pattern)• Acrônimo para Model, View, Controller• Separa a lógica da aplicação da interface do
usuário• Permite desenvolver e testar cada parte do
sistema de forma independente
![Page 154: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/154.jpg)
Padrão MVC
![Page 155: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/155.jpg)
Padrão MVC• Um controlador (controller) pode enviar
comandos para sua visão associada para alterar a apresentação da visão do modelo (por exemplo, percorrendo um documento). Ele também pode enviar comandos para o modelo para atualizar o estado do modelo (por exemplo, editando um documento).
![Page 156: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/156.jpg)
Padrão MVC• Um modelo (model) notifica suas visões e
controladores associados quando há uma mudança em seu estado. Esta notificação permite que as visões produzam saídas atualizadas e que os controladores alterem o conjunto de comandos disponíveis. Uma implementação passiva do MVC monta estas notificações, devido a aplicação não necessitar delas ou a plataforma de software não suportá-las.
![Page 157: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/157.jpg)
Padrão MVC• A visão (view) solicita do modelo a informação
que ela necessita para gerar uma representação de saída.
![Page 158: Mini Curso de PHP](https://reader033.fdocuments.net/reader033/viewer/2022042706/5877d06b1a28ab39588b7bdf/html5/thumbnails/158.jpg)
Exercícios Práticos• Hello World em CodeIgniter