SlideShare uma empresa Scribd logo
1 de 159
Baixar para ler offline
Minicurso de
Programação PHP
PUC Minas Poços de Caldas - WISM 2013
Prof. Rodrigo Santa Maria
rodrigo@digitallymade.com.br
1. Introdução ao PHP
2. Configuração do ambiente para
desenvolvimento
3. Variáveis em PHP
4. Comandos Condicionais e Controle de fluxo
5. Controle de fluxo: Switch
6. Controle de fluxo: Laços de repetição
7. Arrays em PHP
8. Funções em PHP
9. PHP e Banco de Dados MySQL
10.PHP Orientado a Objetos
11.Visão Geral: Frameworks PHP
Conteúdo do Minicurso
Sobre o professor
Prof.	Rodrigo	Bueno	Santa	Maria
E-mail:	rodrigo@digitallymade.com.br
Formação	Acadêmica
• Bacharel	em	Ciência	 da	Computação	pela	PUC	Minas	Poços	de	Caldas.
• MBA	Executivo	Internacional	em	Gerenciamento	 de	Projetos	pela	Fundação	
Getúlio	Vargas	e	Ohio	University,	USA.
Formação	Profissional
• Analista	e	Desenvolvedor	Java	na	IBM	Brasil	por	5	anos.
• Diretor	Fundador	da	DigitallyMade	 Desenvolvimento	Web	desde	2006,	com	
atuação	em	todo	o	Brasil,	além	dos	Estados	Unidos,	Canadá,	e	Japão	com	clientes	
como	a	Rede	Globo	Internacional	- filial	Tokyo,	Japão.
• Atua	no	mercado	web	desde	2001	com	larga	experiência	 em	programação	web	
com	PHP,	HTML5,	CSS3,	Javascript	(jQuery),	Web	2.0	e	Acessibilidade.
• Nas	horas	vagas	atua	com	programação	e	integração	com	hardware,	utilizando	o	
microcontrolador	Arduino.
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
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.
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.
Servidores HTTP
• São serviços HTTP que disponibilizam
as páginas na Internet.
• Exemplos:
– Apache HTTP Server
– Microsoft Internet Information Services
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.
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
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/
Exemplo linguagem PHP
<?php
echo “Olá mundo!”;
?>
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
Sugestão de Livros
Use a Cabeça! PHP & MySQL
Editora: Alta Books
Autor: LYNN BEIGHLEY & MICHAELMORRISON
ISBN: 9788576085027
Dominando PHP e MySQL
Editora: Alta Books
Autor: W. JASON GILMORE
ISBN: 9788576083023
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
Grandes sites feitos em PHP
Conheça	abaixo	alguns	grandes	sites	desenvolvidos	nesta	
linguagem:
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/
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
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)
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
Configuração Comum:
LAMP / WAMP
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
Delimitadores
<?php
?>
<?
?>
<%
%>
Configuráveis via
php.ini
Fortemente recomendado
Palavras Reservadas
break abstract and array() as
clone const case catch class
endswitch do continue declare default
final enddeclare echo else elseif
goto endwhile endfor endforeach endif
instanceof for foreach function extends
namespace if implements include global
protected insteadof interface print include_once
static new or require_once private
unset() public require while return
switch throw try
use var xor
Comentários
• Comentários de uma linha:
<php
echo “Teste 1”; // meu comentário
echo “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 */
?>
Olá Mundo – HTML + PHP
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo "Olá, Mundo!";
?>
</body>
</html>
Atribuições
<?php
$variavel_1 = "Uma string";
$variavel_2 = 'Outra string';
// Concatenando strings
echo $variavel_1 . $variavel_2;
?>
Atribuições
<?php
$x = 1; // inteiro
$y = 10.99; // float (double)
$z = $x*$y;
$a = $x+"1"; // 2 (int)
$b = $x."1"; // 11 (string)
?>
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";
}
?>
Estruturas de Repetição
<?php
for ( $i=0; $i<=9; $i++ ) {
echo ‘$i=‘ . $i;
}
echo PHP_EOL; // Quebra de linha
while ( $i > 0 ) {
echo ‘$i=‘ . $i;
$i--;
}
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
*/
Funções
<?php
function 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)
?>
Inclusão de arquivos
<?php
include '/path/para/arquivo.php';
// include_once
// require
// require_once
$o = new Classe_Do_Arquivo();
?>
Vamos para a prática???
COMANDOS DE CONDIÇÃO –
Utilizando if() - else if() - else
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".
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"
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.
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
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%
LAÇOS DE REPETIÇÃO –
Utilizandndo for() - while() e
funções de String
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
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
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
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
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();
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.
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()”.
• 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
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
)
)
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";
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";
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" )
);
PHP – Arrays Multidimensionais
Array
(
[Cordeiro] => Array
( [0] => Marcos
[1] => Marcelo
[2] => Murilo
)
[Pereira] => Array
(
[0] => Andressa
)
[Silva] => Array
(
[0] => Renata
[1] => Marcia
[2] => Junior
)
)
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);
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
Exercício 1
• Utilizando uma estrutura de
repetição monte um array
numérico.
Exercício 2
• Calcule a média de 5 números
contidos em um array.
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;
Exercício 4
• Crie um array multi-dimensional
(matriz) e use print_r() para exibir
a estrutura na tela.
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).
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
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.
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;
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
};
Funções sem retorno
• Exemplo de função sem parâmetros de
entrada:
function nomeDaFuncao()
{
código da função
};
Funções sem retorno
• Exemplo de função simples:
<?php
function ola() {
echo ("Bem vindo ao PHP");
};
?>
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;
Funções com retorno
• Exemplo:
<?php
function mostrarSomar() {
return 50+50;
};
echo "A soma de 50 + 50 é " . mostrarSomar();
?>
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.
Funções com parâmetros
• Exemplo:
<?php
function 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>");
?>
Exercício 1
• Escreva um programa em PHP
que tenha uma função chamada
meuNome() na qual imprime seu
nome completo na página.
Exercício 2
• Escreva um programa que tenha
uma função chamada soma() com
os argumentos x e y. A função
deverá fazer a soma dos
argumentos passados.
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.
Exercício 4
• Escreva uma função inverso() que
imprima a sequência inversa de
dois números passados como
argumentos da função.
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.
• 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
Funções de String
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.
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.
Funções de String
• int strlen ( string $string )
• Retorna o tamanho (quantidade de caracteres) da string.
• string: A string a ter seu tamanho contado.
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.
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 '&amp;'
– '"' (aspas dupla) torna-se '&quot;' quando ENT_NOQUOTES não está definida.
– ''' (aspas simples) torna-se '&#039;'apenas quando ENT_QUOTES está definida.
– '<' (menor que) torna-se '&lt;'
– '>' (maior que) torna-se '&gt;'
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 '&amp;'
– '"' (aspas dupla) torna-se '&quot;' quando ENT_NOQUOTES não está
definida.
– ''' (aspas simples) torna-se '&#039;' apenas quando ENT_QUOTES está
definida.
– '<' (menor que) torna-se '&lt;'
– '>' (maior que) torna-se '&gt;'
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 '&ordm;‘
– ª para '&ordf;‘
– á para '&aacute;‘
– ç para '&ccedil;'
Funções de String
• string nl2br ( string $string )
• Retorna string com '<br />' inserido antes de todas as
newlines.
• string: A string de entrada.
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");
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.
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:
<?php
echo '<a href=“meuscript.php?var=', urlencode($entrada_usuario), '">';
?>
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.
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.
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;
?>
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 $c
harlist ] )
Retira espaço no ínicio e final de
uma string
Funções Matemáticas
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
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
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
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
Funções Matemáticas
• float sqrt ( float $arg )
• Retorna a raiz quadrada de arg.
• arg: O argumento para processar
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.
Funções de Arrays
Funções de Arrays
• bool shuffle ( array &$array )
• Essa função mistura de forma aleatória os elementos de um array.
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.
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).
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,phon
e
?>
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 piece5
piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
...
?>
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
?>
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);
?>
Funções de Manipulação
de Arquivos
Funções de Manipulação de Arquivos
• resource fopen ( string $filename , string $mod
e [, 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");
• ?>
Funções de Manipulação de Arquivos
• bool fclose ( resource $handle )
• O arquivo apontado por handle é fechado.
• <?php
fclose($handle);
• ?>
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);
}
?>
Funções de Manipulação de Arquivos
• array file ( string $filename [, int $flags [, resou
rce $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";
}
?>
Funções de Manipulação de Arquivos
• string file_get_contents ( string $filename [, in
t $flags [, resource $context [, int $offset [, int $
maxlen ]]]] )
• Carrega todo um arquivo para uma string.
<?php
$arquivo = file_get_contents(‘teste.txt');
echo $arquivo;
?>
Funções de Conexão
com o MySQL
Funções de Conexão com o MySQL
• resource mysql_connect ([ string $server [, str
ing $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);
?>
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);
?>
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";
?>
Funções de Conexão com o MySQL
• bool mysql_select_db ( string $database_na
me [, 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());
}
?>
Funções de Conexão com o MySQL
• resource mysql_query ( string $query [, resour
ce $link_identifier ] )
• Envia uma consulta MySQL.
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
Funções de Conexão com o MySQL
• array mysql_fetch_array ( resource $result [, i
nt $result_type ] )
• Retorna uma matriz que corresponde a linha obtida e move o ponteiro
interno dos dados adiante.
<?php
mysql_connect("localhost", "mysql_user",
"mysql_password") or
die("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);
?>
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'];
?>
• Conexão PHP ao MySQL
• Diagrama de funcionamento
• Funções de conexão com o MySQL
• Exercícios práticos
Próximos tópicos
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.
Diagrama de Funcionamento
Banco de Dados
MySQL
Aplicação PHP
Usuário Final
(front-end)
SQL Interação
Importante saber:
•Host (endereço) do servidor
•Usuário
•Senha
•Nome do banco de dados
Funções de Conexão
com o MySQL
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()
Funções de Conexão com o MySQL
• resource mysql_connect ([ string $server [, str
ing $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);
?>
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);
?>
Funções de Conexão com o MySQL
• bool mysql_select_db ( string $database_na
me [, 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());
}
?>
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";
?>
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";
?>
Funções de Conexão com o MySQL
• resource mysql_query ( string $query [, resour
ce $link_identifier ] )
• Envia uma consulta MySQL.
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die(’Query Inválida: ' . mysql_error());
}
?>
Funções de Conexão com o MySQL
• array mysql_fetch_array ( resource $result [, i
nt $result_type ] )
• Retorna uma matriz que corresponde a linha obtida e move o ponteiro
interno dos dados adiante.
<?php
mysql_connect("localhost", "mysql_user",
"mysql_password") or
die("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);
?>
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'];
?>
Exercícios
Práticos
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.
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.
• PHP Orientado a Objetos (OO)
– Similaridade com Java
– Definição de classes
– Interfaces
– Heranças
Próximos tópicos
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.
Classes em PHP
• Abaixo um trecho de código de uma
classe:
class teste() {
}
$objeto = new teste();
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.
Interfaces em PHP
interface minhaInterface() {
public function
setVar($var);
public function getHTML();
}
Utilizando uma interface
class Teste implements minhaInterface() {
public function setVar($var){
...
}
public function getHTML(){
...
}
}
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.
Herança em PHP
<?php
class Veiculo
{
public $marcha;
public $quantidadeRodas;
public function passarMarcha()
{
// código
}
public function andar()
{
// código
}
}
?>
Herança em PHP
<?php
class Carro extends Veiculo
{
public function __construct()
{
$this->quantidadeRodas = 4;
}
}
$carro = new Carro();
$carro->andar();
?>
• Frameworks PHP
– Definição
– Frameworks mais usados
– Vantagens
– Desvantagens
• Framework CodeIgniter
– Introdução
– Padrão MVC
– Exercícios práticos
Próximos tópicos
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.
Frameworks PHP mais usados
1. Yii
2. CodeIgniter
3. CakePHP
4. Zend
5. Symfony
6. PHPDevShell
7. Prado
8. Akelos
9. ZooP
10.QPHP
Fonte: http://www.phpframeworks.com/top-10-php-frameworks
Em Maio de 2013
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
Frameworks: Desvantagens
• Performance
• Curva de aprendizado
• Dependência
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
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
Padrão MVC
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).
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.
Padrão MVC
• A visão (view) solicita do modelo a informação
que ela necessita para gerar uma
representação de saída.
Exercícios Práticos
• Hello World em CodeIgniter
Prof. Rodrigo Santa Maria
rodrigo@digitallymade.com.br
facebook.com/rodrigobsm
Contato

Mais conteúdo relacionado

Mais procurados

Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básicaCarlos Melo
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Thyago Maia
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 

Mais procurados (20)

Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Introdução PowerPoint
Introdução PowerPointIntrodução PowerPoint
Introdução PowerPoint
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Ficha html e css
Ficha   html e cssFicha   html e css
Ficha html e css
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 

Destaque

16050514 apostila-programacao-php-e-my sql-exatasweb
16050514 apostila-programacao-php-e-my sql-exatasweb16050514 apostila-programacao-php-e-my sql-exatasweb
16050514 apostila-programacao-php-e-my sql-exataswebWesley Ferreira
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMarcelo Linhares
 
Banco de Dados MySQL
Banco de Dados MySQLBanco de Dados MySQL
Banco de Dados MySQLMarcus Couto
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXDaniel Brandão
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zeroFred Ramos
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 

Destaque (8)

PHP MySQL Aula 03
PHP MySQL Aula 03PHP MySQL Aula 03
PHP MySQL Aula 03
 
16050514 apostila-programacao-php-e-my sql-exatasweb
16050514 apostila-programacao-php-e-my sql-exatasweb16050514 apostila-programacao-php-e-my sql-exatasweb
16050514 apostila-programacao-php-e-my sql-exatasweb
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
Banco de Dados MySQL
Banco de Dados MySQLBanco de Dados MySQL
Banco de Dados MySQL
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAX
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zero
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 

Semelhante a Minicurso PHP - Introdução, Configuração e Variáveis

M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançadoThiago Carlos
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIinfo_cimol
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
PHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerPHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerLeonardo Tumadjian
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7Silvano Oliveira
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao phpAdriano Castro
 

Semelhante a Minicurso PHP - Introdução, Configuração e Variáveis (20)

M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Guia php
Guia phpGuia php
Guia php
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançado
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
PHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerPHP de alta performance com RoadRunner
PHP de alta performance com RoadRunner
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
Pho Aula 02
Pho Aula 02Pho Aula 02
Pho Aula 02
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 

Mais de Rodrigo Bueno Santa Maria, BS, MBA (6)

Palestra "Inovações Tecnológicas"
Palestra "Inovações Tecnológicas"Palestra "Inovações Tecnológicas"
Palestra "Inovações Tecnológicas"
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
2 gdg connect
2 gdg connect2 gdg connect
2 gdg connect
 
Agenda do 1 GDG Connect
Agenda do 1 GDG ConnectAgenda do 1 GDG Connect
Agenda do 1 GDG Connect
 
Lançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
Lançamento do Google Developers Group de São João da Boa Vista, SP - BrasilLançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
Lançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 

Minicurso PHP - Introdução, Configuração e Variáveis

  • 1. Minicurso de Programação PHP PUC Minas Poços de Caldas - WISM 2013 Prof. Rodrigo Santa Maria rodrigo@digitallymade.com.br
  • 2. 1. Introdução ao PHP 2. Configuração do ambiente para desenvolvimento 3. Variáveis em PHP 4. Comandos Condicionais e Controle de fluxo 5. Controle de fluxo: Switch 6. Controle de fluxo: Laços de repetição 7. Arrays em PHP 8. Funções em PHP 9. PHP e Banco de Dados MySQL 10.PHP Orientado a Objetos 11.Visão Geral: Frameworks PHP Conteúdo do Minicurso
  • 3. Sobre o professor Prof. Rodrigo Bueno Santa Maria E-mail: rodrigo@digitallymade.com.br Formação Acadêmica • Bacharel em Ciência da Computação pela PUC Minas Poços de Caldas. • MBA Executivo Internacional em Gerenciamento de Projetos pela Fundação Getúlio Vargas e Ohio University, USA. Formação Profissional • Analista e Desenvolvedor Java na IBM Brasil por 5 anos. • Diretor Fundador da DigitallyMade Desenvolvimento Web desde 2006, com atuação em todo o Brasil, além dos Estados Unidos, Canadá, e Japão com clientes como a Rede Globo Internacional - filial Tokyo, Japão. • Atua no mercado web desde 2001 com larga experiência em programação web com PHP, HTML5, CSS3, Javascript (jQuery), Web 2.0 e Acessibilidade. • Nas horas vagas atua com programação e integração com hardware, utilizando o microcontrolador Arduino.
  • 4. 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
  • 5. 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.
  • 6. 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.
  • 7. Servidores HTTP • São serviços HTTP que disponibilizam as páginas na Internet. • Exemplos: – Apache HTTP Server – Microsoft Internet Information Services
  • 8. 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.
  • 9. 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
  • 10. 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/
  • 11. Exemplo linguagem PHP <?php echo “Olá mundo!”; ?>
  • 12. 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
  • 13. Sugestão de Livros Use a Cabeça! PHP & MySQL Editora: Alta Books Autor: LYNN BEIGHLEY & MICHAELMORRISON ISBN: 9788576085027 Dominando PHP e MySQL Editora: Alta Books Autor: W. JASON GILMORE ISBN: 9788576083023
  • 14. 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
  • 15. Grandes sites feitos em PHP Conheça abaixo alguns grandes sites desenvolvidos nesta linguagem:
  • 16. 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/
  • 17. 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
  • 18. 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)
  • 19. 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
  • 21. 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
  • 23. Palavras Reservadas break abstract and array() as clone const case catch class endswitch do continue declare default final enddeclare echo else elseif goto endwhile endfor endforeach endif instanceof for foreach function extends namespace if implements include global protected insteadof interface print include_once static new or require_once private unset() public require while return switch throw try use var xor
  • 24. Comentários • Comentários de uma linha: <php echo “Teste 1”; // meu comentário echo “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 */ ?>
  • 25. Olá Mundo – HTML + PHP <html> <head> <title>Exemplo</title> </head> <body> <?php echo "Olá, Mundo!"; ?> </body> </html>
  • 26. Atribuições <?php $variavel_1 = "Uma string"; $variavel_2 = 'Outra string'; // Concatenando strings echo $variavel_1 . $variavel_2; ?>
  • 27. Atribuições <?php $x = 1; // inteiro $y = 10.99; // float (double) $z = $x*$y; $a = $x+"1"; // 2 (int) $b = $x."1"; // 11 (string) ?>
  • 28. 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"; } ?>
  • 29. Estruturas de Repetição <?php for ( $i=0; $i<=9; $i++ ) { echo ‘$i=‘ . $i; } echo PHP_EOL; // Quebra de linha while ( $i > 0 ) { echo ‘$i=‘ . $i; $i--; }
  • 30. 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 */
  • 31. Funções <?php function 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) ?>
  • 32. Inclusão de arquivos <?php include '/path/para/arquivo.php'; // include_once // require // require_once $o = new Classe_Do_Arquivo(); ?>
  • 33. Vamos para a prática???
  • 34. COMANDOS DE CONDIÇÃO – Utilizando if() - else if() - else
  • 35. 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".
  • 36. 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"
  • 37. 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.
  • 38. 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
  • 39. 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%
  • 40. LAÇOS DE REPETIÇÃO – Utilizandndo for() - while() e funções de String
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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();
  • 46. 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.
  • 47. 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()”.
  • 48. • 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
  • 49. 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 ) )
  • 50. 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";
  • 51. 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";
  • 52. 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" ) );
  • 53. PHP – Arrays Multidimensionais Array ( [Cordeiro] => Array ( [0] => Marcos [1] => Marcelo [2] => Murilo ) [Pereira] => Array ( [0] => Andressa ) [Silva] => Array ( [0] => Renata [1] => Marcia [2] => Junior ) )
  • 54. 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);
  • 55. 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
  • 56. Exercício 1 • Utilizando uma estrutura de repetição monte um array numérico.
  • 57. Exercício 2 • Calcule a média de 5 números contidos em um array.
  • 58. 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;
  • 59. Exercício 4 • Crie um array multi-dimensional (matriz) e use print_r() para exibir a estrutura na tela.
  • 60. 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).
  • 61. 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
  • 62. 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.
  • 63. 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;
  • 64. 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 };
  • 65. Funções sem retorno • Exemplo de função sem parâmetros de entrada: function nomeDaFuncao() { código da função };
  • 66. Funções sem retorno • Exemplo de função simples: <?php function ola() { echo ("Bem vindo ao PHP"); }; ?>
  • 67. 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;
  • 68. Funções com retorno • Exemplo: <?php function mostrarSomar() { return 50+50; }; echo "A soma de 50 + 50 é " . mostrarSomar(); ?>
  • 69. 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.
  • 70. Funções com parâmetros • Exemplo: <?php function 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>"); ?>
  • 71. Exercício 1 • Escreva um programa em PHP que tenha uma função chamada meuNome() na qual imprime seu nome completo na página.
  • 72. Exercício 2 • Escreva um programa que tenha uma função chamada soma() com os argumentos x e y. A função deverá fazer a soma dos argumentos passados.
  • 73. 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.
  • 74. Exercício 4 • Escreva uma função inverso() que imprima a sequência inversa de dois números passados como argumentos da função.
  • 75. 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.
  • 76. • 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
  • 78. 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.
  • 79. 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.
  • 80. Funções de String • int strlen ( string $string ) • Retorna o tamanho (quantidade de caracteres) da string. • string: A string a ter seu tamanho contado.
  • 81. 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.
  • 82. 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 '&amp;' – '"' (aspas dupla) torna-se '&quot;' quando ENT_NOQUOTES não está definida. – ''' (aspas simples) torna-se '&#039;'apenas quando ENT_QUOTES está definida. – '<' (menor que) torna-se '&lt;' – '>' (maior que) torna-se '&gt;'
  • 83. 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 '&amp;' – '"' (aspas dupla) torna-se '&quot;' quando ENT_NOQUOTES não está definida. – ''' (aspas simples) torna-se '&#039;' apenas quando ENT_QUOTES está definida. – '<' (menor que) torna-se '&lt;' – '>' (maior que) torna-se '&gt;'
  • 84. 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 '&ordm;‘ – ª para '&ordf;‘ – á para '&aacute;‘ – ç para '&ccedil;'
  • 85. Funções de String • string nl2br ( string $string ) • Retorna string com '<br />' inserido antes de todas as newlines. • string: A string de entrada.
  • 86. 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");
  • 87. 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.
  • 88. 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: <?php echo '<a href=“meuscript.php?var=', urlencode($entrada_usuario), '">'; ?>
  • 89. 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.
  • 90. 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.
  • 91. 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; ?>
  • 92. 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 $c harlist ] ) Retira espaço no ínicio e final de uma string
  • 94. 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
  • 95. 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
  • 96. 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
  • 97. 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
  • 98. Funções Matemáticas • float sqrt ( float $arg ) • Retorna a raiz quadrada de arg. • arg: O argumento para processar
  • 99. 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.
  • 101. Funções de Arrays • bool shuffle ( array &$array ) • Essa função mistura de forma aleatória os elementos de um array.
  • 102. 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.
  • 103. 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).
  • 104. 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,phon e ?>
  • 105. 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 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 ... ?>
  • 106. 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 ?>
  • 107. 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); ?>
  • 109. Funções de Manipulação de Arquivos • resource fopen ( string $filename , string $mod e [, 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"); • ?>
  • 110. Funções de Manipulação de Arquivos • bool fclose ( resource $handle ) • O arquivo apontado por handle é fechado. • <?php fclose($handle); • ?>
  • 111. 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); } ?>
  • 112. Funções de Manipulação de Arquivos • array file ( string $filename [, int $flags [, resou rce $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"; } ?>
  • 113. Funções de Manipulação de Arquivos • string file_get_contents ( string $filename [, in t $flags [, resource $context [, int $offset [, int $ maxlen ]]]] ) • Carrega todo um arquivo para uma string. <?php $arquivo = file_get_contents(‘teste.txt'); echo $arquivo; ?>
  • 115. Funções de Conexão com o MySQL • resource mysql_connect ([ string $server [, str ing $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); ?>
  • 116. 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); ?>
  • 117. 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"; ?>
  • 118. Funções de Conexão com o MySQL • bool mysql_select_db ( string $database_na me [, 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()); } ?>
  • 119. Funções de Conexão com o MySQL • resource mysql_query ( string $query [, resour ce $link_identifier ] ) • Envia uma consulta MySQL. <?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); } ?>
  • 120. Funções de Conexão com o MySQL • array mysql_fetch_array ( resource $result [, i nt $result_type ] ) • Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante. <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("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); ?>
  • 121. 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']; ?>
  • 122. • Conexão PHP ao MySQL • Diagrama de funcionamento • Funções de conexão com o MySQL • Exercícios práticos Próximos tópicos
  • 123. 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.
  • 124. Diagrama de Funcionamento Banco de Dados MySQL Aplicação PHP Usuário Final (front-end) SQL Interação Importante saber: •Host (endereço) do servidor •Usuário •Senha •Nome do banco de dados
  • 126. 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()
  • 127. Funções de Conexão com o MySQL • resource mysql_connect ([ string $server [, str ing $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); ?>
  • 128. 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); ?>
  • 129. Funções de Conexão com o MySQL • bool mysql_select_db ( string $database_na me [, 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()); } ?>
  • 130. 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"; ?>
  • 131. 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"; ?>
  • 132. Funções de Conexão com o MySQL • resource mysql_query ( string $query [, resour ce $link_identifier ] ) • Envia uma consulta MySQL. <?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die(’Query Inválida: ' . mysql_error()); } ?>
  • 133. Funções de Conexão com o MySQL • array mysql_fetch_array ( resource $result [, i nt $result_type ] ) • Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante. <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("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); ?>
  • 134. 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']; ?>
  • 136. 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.
  • 137. 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.
  • 138. • PHP Orientado a Objetos (OO) – Similaridade com Java – Definição de classes – Interfaces – Heranças Próximos tópicos
  • 139. 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.
  • 140. Classes em PHP • Abaixo um trecho de código de uma classe: class teste() { } $objeto = new teste();
  • 141. 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.
  • 142. Interfaces em PHP interface minhaInterface() { public function setVar($var); public function getHTML(); }
  • 143. Utilizando uma interface class Teste implements minhaInterface() { public function setVar($var){ ... } public function getHTML(){ ... } }
  • 144. 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.
  • 145. Herança em PHP <?php class Veiculo { public $marcha; public $quantidadeRodas; public function passarMarcha() { // código } public function andar() { // código } } ?>
  • 146. Herança em PHP <?php class Carro extends Veiculo { public function __construct() { $this->quantidadeRodas = 4; } } $carro = new Carro(); $carro->andar(); ?>
  • 147. • Frameworks PHP – Definição – Frameworks mais usados – Vantagens – Desvantagens • Framework CodeIgniter – Introdução – Padrão MVC – Exercícios práticos Próximos tópicos
  • 148. 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.
  • 149. Frameworks PHP mais usados 1. Yii 2. CodeIgniter 3. CakePHP 4. Zend 5. Symfony 6. PHPDevShell 7. Prado 8. Akelos 9. ZooP 10.QPHP Fonte: http://www.phpframeworks.com/top-10-php-frameworks Em Maio de 2013
  • 150. 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
  • 151. Frameworks: Desvantagens • Performance • Curva de aprendizado • Dependência
  • 152. 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
  • 153. 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
  • 155. 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).
  • 156. 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.
  • 157. Padrão MVC • A visão (view) solicita do modelo a informação que ela necessita para gerar uma representação de saída.
  • 158. Exercícios Práticos • Hello World em CodeIgniter
  • 159. Prof. Rodrigo Santa Maria rodrigo@digitallymade.com.br facebook.com/rodrigobsm Contato