SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
PHP para iniciantes
Mário Araújo Xavier
PotiLivre – Natal, Rio Grande do Norte
marioiurd3@gmail.com
Telegram/Whatsapp→ +55 84 98768 8300
Objetivo
• Em 2 horas ver o máximo de conteudo PHP;
• Conhecer as funções mais importantes;
• Treinar e programar em PHP :)
• Vamos treinar simulando um sistema para o
Restaurante Mangai;
• Vamos implementar rotinas para situações
comuns em um restaurante;
Quem sou eu
• Sysadmin na área industrial;
• Membro do PotiLivre
• Membro do PHP com Rapadura – Fortaleza,
Ceará
PHP com Rapadura
• A melhor comunidade de PHP do mundo :D
• http://phpcomrapadura.org
• Telegram: @phpcomrapadura
Grupos no Brasil
PHP MA: @phpmaranhao
https://telegram.me/phpmaranhao
PHP BA: @phpba
https://telegram.me/phpba
PHP DF: @phpdf
https://telegram.me/phpdf
PHP com Rapadura: @phpcomrapadura
https://telegram.me/phpcomrapadura
Grupos no Brasil
PHP Curitiba: @phpcuritiba
https://telegram.me/phpcuritiba
PHP RJ: @phprio
https://telegram.me/phprio
PHPeste: @PHPeste
https://telegram.me/PHPeste
Grupo do PHP Brasil : @phpbrasil [http://telegram.me/PHPBrasil]
(http://telegram.me/phpbrasil)
Roteiro
• O que é PHP?
• Ambiente de desenvolvimento para PHP;
• Hello World!
• Comentários, Operadores de atribuição e
Concatenação;
• Estrutura de Decisão – If Else;
• Laço For, Arrays e Funções;
O que é PHP?
Usada por 80% da internet
Linguagem interpretada
Server Side
Muito parecida com C/C++
Simples de aprender
Uma comunidade muito forte e ativa
Como funciona?
PHP + Servidor Apache + MySQL (ou outro banco)
Como funciona?
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Hello World!
<?php
Echo “Hello World!”;
?>
Ou, resumidamente:
<? echo “Hello World!”; ?>
Comentários
<?php
// Esse é um comentário de 1 linha :D
Echo “Bom dia!”;
/* Esse é um
comentário
de
Várias
Linhas :D */
?>
Operadores de atribuição
Em PHP, usamos os seguintes tipos:
- Inteiro;
- Ponto flutuante;
- String;
- Array;
- Objeto;
A tipagem em PHP é dinâmica, a variavel pode
receber valores de tipos diferentes em diferentes
momento na execução do código
Operadores de atribuição
Inteiros:
$pizza = 20;
echo $pizza;
Ponto flutuante
$cachorroQuente = 2.50;
echo $cachorroQuente;
Operadores de atribuição
String
$almoco = “Bife a Milanesa”;
echo $almoco;
Para pular uma linha, usamos a tag html <br> como
uma string “<br>”:
$almoco = “Bife a Milanesa <br>”;
Echo $almoco;
Echo “fim do cardápio”;
Concatenação
Podemos imprimir um valor numerico (ou
qualquer tipo) junto com uma frase, como abaixo:
echo “Seja bem vindo ao Mangai!<br>”;
echo “A sugestão do chef para hoje é:
”.$prato01;
echo “O preço do prato eh:”.$preco01;
Exercício
1) Você foi contratado para fazer um sistema para o
restaurante Mangai. O sistema vai montar um
cardápio de um restaurante.
Crie 5 variáveis para 5 pratos e imprima esses nomes:
$prato01, $prato02….., $prato05
2) Defina valores dos pratos do seu restaurante. Crie 5
variáveis para 5 preços e imprima esses valores:
$preco01, $preco02, ……. $preco05
Exercicio
3) Defina a quantidade de cada prato, que vai ser
solicitado ao chef. Crie 5 variáveis para 5
quantidades e imprima esses valores:
$qtde01, $qtde02,……., $qtde05
4) Crie 5 variáveis para 5 bebidas e imprima esses
nomes:
$beb01, $beb02….., $beb05
Estrutura de Decisão – If Else
1º Exemplo
if ( estou com fome ) {
echo "Vou almocar :) ";
}
else
echo "Não vou almoçar :) ";
Estrutura de Decisão – If Else
2º Exemplo
// Rotina para pagamento no débito
if ($precoPrato <= $SaldoCartao) {
echo "Obrigado pelo pagamento!
Volte sempre! <br> ";
}
else
echo "Valor insuficiente. Tente outras
formas de pagamento<br>";
Exercicio 1 - Comanda
Exercicio 1
Implemente uma rotina para a Comanda do cliente,
para pagamento em cartão.
Calcule a soma dos pedidos e faça uma rotina com IF
e ELSE para checar se o valor da comanda eh igual
ou menor que o valor do saldo do cartão.
Em caso positivo, informe ao cliente que o
pagamento foi validado. Em caso negativo,
informe ao cliente que o valor eh insuficiente
Exercicio 2 - Delivery
Exercicio 2
No sistema do restaurante Mangai, vamos fazer uma
função para o delivery do restaurante, com
pagamentos online ou via aplicativo.
O cliente pode pagar usando credito ou débito.
Faça uma rotina com IF e ELSE para que o sistema
cheque se o valor do prato eh igual ou menor que o
limite do cartão do cliente
Laço For
Repetição determinada por valores
Laço For
for ($i=0; $i < 10; $i++) {
echo "Olá mundo";
}
// Se colocar uma concatenacao temos:
for ($i=0; $i < 10; $i++) {
echo "olá mundo ".$i."<br>";
}
Exercício – Mesas
Exercício
Exercício 1:
No sistema do Mangai, usando o laço For, imprima
uma lista de 50 mesas, para o sistema registrar se a
mesa está livre ou ocupada, como no resultado
abaixo:
Mesa 1 ==>
Mesa 2 ==>
Mesa 3 ==>
Mesa 50 ==>
Array
Podemos entender Arrays em PHP como
mapeamentos ou como vetores indexados.
Um valor do tipo array é um dicionário onde os índices
são as chaves de acesso.
<?
$cor = array(
1 => “vermelho,
2 => “verde,
3 => “azul”);
?>
Array
Podemos fazer a mesma associação de variaveis, de
outra maneira:
<?
$cor[1] = “vermelho”;
$cor[2] = “verde”;
$cor[3] = “azul”;
$cor[“teste”] = 1;
?>
Array
Exemplo: No restaurante Mangai, o sistema vai
relacionar uma lista de ingredientes para o setor de
compras fazer a cotaçao. Em Array, seria:
$ingredCotacao = array (
1 => “Frango”,
2 => “Cebola”,
3 => “Farinha de trigo”,
4 => “Camarão”,
5 => “Tomate” );
Array
Podemos imprimir esse array com as
funções var_dump(); e print_r();
var_dump($ingredCotacao);
ou
print_r($ingredCotacao);
Exercicio 1
O sistema do Mangai vai coletar uma lista de
submenus, por exemplo:
Sucos: Laranja, maracujá, Goiaba,
Graviola, etc
Salgados: Pastel, Coxinha, Risole,
Folheado etc
Frutos do mar: Camarão, Lagosta, etc
Exercicio 2
Crie um array para Sucos, outro para Salgados e
outro para frutos do mar para armazenar 10 itens
de cada submenu, totalizando 30 opções no
cardápio.
Exercicio 3
Controle de Almoxarifado
Exercicio 3
Crie um array para controle do almoxarifado do
restaurante.
Esse array para controle deverá ter:
 Código do produto
 Nome/descrição
 Quantidade em estoque
 Valor de venda
 Volume
Exercicio 3
Por exemplo:
$RefriGuarana["codigo"] = 1020;
$RefriGuarana["nome"] = "Guarana Antartica";
$RefriGuarana["qtde"] = 50;
$RefriGuarana["valor"] = 2.50;
$RefriGuarana["volume"] = 600;
print_r ($RefriGuarana);
Exercicio 3
Crie um array para Refrigerante Fanta Guaraná
Crie um array para Água Mineral sem gás
Crie um array para Coca-cola 3 litros
Crie um array para Sorvete de Chocolate
Crie um array para Suco Laranja Tampico
Array com laço For
Podemos usar o laço for para consultar e imprimir dados
do array:
for ($i=1; $i <= (count($doces)); $i++)
{
echo "<br><br>Bem vindo ao Mangai<br>";
echo "O doce na sobremesa de hoje é: ".$doces[$i];
}
Exercicio 1
Imprima 1 dos 5 arrays criados com um layout
diferente usando o Laço For
Array com laço For
Podemos usar o laço for para alimentar o array:
for ($i=1; $i <= (count($doces)); $i++) {
echo "<br><br>Bem vindo ao Mangai<br>";
$doces[$i] = "Petit Gateau";
}
Foreach
Repetição somente para arrays, objetos e matrizes
Sintaxe mais simples do que o Laço For
Não usa contador
Foreach
$frutas = array (“maça”, “banana”, “caju”, “laranja”,
“pêssego”);
Foreach ($frutas as $valor) {
– echo $valor.”<br>”;
}
Exercicio 1
1) Usando Foreach, imprima 2 arrays construidos no
exercicio anterior;
2) Usando Foreach, alimente 2 arrays construidos no
exercicio anterior;
3) Usando Foreach, crie um novo array que é a
concatenação de 2 arrays;
Funções
- Dividir o código para aproveitar em
outros sistemas;
- Facilitar o entendimento e
reaproveitamento do código, com a
divisão em partes;
Funções
Function EntradaMangai() {
Echo “Seja bem vindo ao Mangai!”
} ;
Funções
Função para soma
Function Soma2Valores ($n1, $n2) {
Echo “A soma dos valores é: ”.$n1+$n2;
}
Exercicios
1) Crie uma função para imprimir o nome
completo do funcionario que logou no sistema do
Mangai.
2) Crie uma função para multiplicar 2 valores
3) Crie uma função para subtrair 2 valores
4) Crie uma função para dividir 2 valores
Método POST
• O PHP usa o método POST para enviar dados
por formulários HTML;
• Usado por exemplo em: Login, Cadastro de
usuário, Compra pela internet, Inscrição em
eventos,, Pedido de comida delivery, Fatura de
cartão de crédito, etc
Método POST
• Para isso precisamos montar um formulário
HTML;
• Formulário HTML: arquivo .html que associa
cada valor digitado a uma variável, que o PHP
captura;
• Os dados do formulário podem ser dos tipos:
text, date, email, password, file,
radio, checkbox, button, etc
Método POST
• Tag HTML: divisão do código HTML para criar
qualquer elemento na pagina web
<html>
<head> </head>
<body>
</body>
</html>
Método POST
• O método POST pode ser implementado de 2
maneiras:
• 1 arquivo .php e 1 arquivo .html;
• 1 arquivo com o php e html;
• Por boas práticas de programação, NÃO é
aconselhável misturar PHP e HTML no mesmo
código;
• Pode ser um problema quando o código aumentar;
• Facilita o entendimento do código no futuro;
• Facilita o reaproveitamento do código em outros
sistemas;
• Facilita o compartilhamento do código com outros
programadores;
Método POST
• Cada item do formulário como Nome, Telefone, email,
Endereço é representado no HTML com a tag input
<html>
<head> </head>
<body>
<form action=”cadastro.php” method=“post”>
Nome: <input type=“text” name=“nome”
value=“digite seu nome”> </form>
</body> </html>
Método POST
• Esse é código do arquivo teste.php que recebe os
dados do formulário com a variável de ambiente
$_POST[ ]:
<?php
Echo “Seja bem-vindo!<br><br>”;
echo “Nome completo: ”.$_POST[“nome”]
?>
Exercicios
1. Crie um formulário chamado cadastro.html, onde
vai ser feito um cadastro com:
• Nome,
• Telefone,
• Data de Nascimento,
• WhatsApp,
• Email,
• Senha,
• Gênero,
• Foto de perfil,
• Perguntar ao usuário sobre assinar newsletter e
aceitar Termos e Condições do sistema;
O cadastro.html precisa redirecionar para cadastro.php
Exercicios
1. Crie um arquivo chamado cadastro.php, que vai
receber os dados do formulário e imprimir uma ficha
cadastral.
Para isso use a variável de ambiente $_POST[ ]
Formulário
para Comanda
Exercicios
2. Crie um formulário para a Comanda do restaurante,
chamado comanda.html, contendo os seguintes
dados:
 Quantidade de pessoas na mesa;
 Data e hora do consumo;
 Peso do prato consumido;
 Código e qtde de refrigerantes lata
 Código e qtde de água mineral em garrafa;
 Código e qtde de sobremesas;
 Forma de pagamento;
 Código do garçom;
Exercicios
2. Crie o arquivo comanda.php para:
 Dar uma mensagem de boas-vindas;
 Gera o número da NFE – Nota Fiscal Eletrônica;
 Receber as quantidades de cada alimento consumido;
 Multiplicar pelo valor unitário de cada produto;
 Imprimir a Comanda detalhada com os produtos
consumidos, data e hora
 Calcula a imprime o valor total a ser pago;
 Imprime o nome do garçom que atendeu;
Formulário
para Delivery
Exercicios
1. Crie um formulário para o Delivery do restaurante,
chamado delivery.html, contendo os seguintes dados:
 Nome do cliente;
 Endereço;
 Telefone;
 Código e qtde de cada produto pedido
 Forma de pagamento;
 Código do motoboy;
Exercicios
2. Crie o arquivo delivery.php para:
 Dar uma mensagem de boas-vindas;
 Gera o número da NFE – Nota Fiscal Eletrônica;
 Receber as quantidades de cada alimento consumido;
 Multiplicar pelo valor unitário de cada produto;
 Imprimir o comprovante detalhado com os produtos
consumidos, data, hora e o valor total a ser pago;
 Imprime o nome do motoboy que entregou;
Obrigado!!
PHP para iniciantes
Mário Araújo Xavier
PotiLivre – Natal, Rio Grande do Norte
marioiurd3@gmail.com
Telegram/Whatsapp→ +55 84 98768 8300

Mais conteúdo relacionado

Semelhante a Minicurso de PHP para iniciantes - Mario Araujo Xavier

Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPAlmir Neto
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Thyago Maia
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroMichael Castillo Granados
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Leonardo Ribeiro
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de phpTais Reis
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfFelipeSoares580387
 

Semelhante a Minicurso de PHP para iniciantes - Mario Araujo Xavier (20)

Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHP
 
2ª aula php
2ª aula php2ª aula php
2ª aula php
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Aula3
Aula3Aula3
Aula3
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguro
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
Como Acessar Ambiente de Treinamento SAP? [COMPLETO]
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
CakePHP
CakePHPCakePHP
CakePHP
 

Mais de PotiLivre Sobrenome

Criando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software LivreCriando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software LivrePotiLivre Sobrenome
 
Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!PotiLivre Sobrenome
 
Você é espionado todos os dias: Saiba como se defender | TOR project
 Você é espionado todos os dias: Saiba como se defender | TOR project Você é espionado todos os dias: Saiba como se defender | TOR project
Você é espionado todos os dias: Saiba como se defender | TOR projectPotiLivre Sobrenome
 
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Moraislternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir MoraisPotiLivre Sobrenome
 
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...PotiLivre Sobrenome
 
Thayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web ServicesThayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web ServicesPotiLivre Sobrenome
 
João Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataJoão Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataPotiLivre Sobrenome
 
Security updates por que voce deveria aceitar os updates da sua distro leo...
Security updates  por que voce deveria aceitar os updates da sua distro   leo...Security updates  por que voce deveria aceitar os updates da sua distro   leo...
Security updates por que voce deveria aceitar os updates da sua distro leo...PotiLivre Sobrenome
 
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018PotiLivre Sobrenome
 
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...PotiLivre Sobrenome
 
LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018PotiLivre Sobrenome
 
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018PotiLivre Sobrenome
 
O desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do NorteO desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do NortePotiLivre Sobrenome
 
Softwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para MatematicaSoftwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para MatematicaPotiLivre Sobrenome
 
Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016PotiLivre Sobrenome
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...PotiLivre Sobrenome
 
O que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivreO que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivrePotiLivre Sobrenome
 

Mais de PotiLivre Sobrenome (20)

Gestão de ativos com o GPLI
Gestão de ativos com o GPLIGestão de ativos com o GPLI
Gestão de ativos com o GPLI
 
O poder do software livre
O poder do software livreO poder do software livre
O poder do software livre
 
Criando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software LivreCriando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software Livre
 
Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!
 
Você é espionado todos os dias: Saiba como se defender | TOR project
 Você é espionado todos os dias: Saiba como se defender | TOR project Você é espionado todos os dias: Saiba como se defender | TOR project
Você é espionado todos os dias: Saiba como se defender | TOR project
 
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Moraislternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
 
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
 
Thayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web ServicesThayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web Services
 
João Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataJoão Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big Data
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Security updates por que voce deveria aceitar os updates da sua distro leo...
Security updates  por que voce deveria aceitar os updates da sua distro   leo...Security updates  por que voce deveria aceitar os updates da sua distro   leo...
Security updates por que voce deveria aceitar os updates da sua distro leo...
 
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
 
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
 
LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018
 
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
 
O desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do NorteO desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
 
Softwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para MatematicaSoftwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para Matematica
 
Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
 
O que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivreO que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivre
 

Minicurso de PHP para iniciantes - Mario Araujo Xavier

  • 1. PHP para iniciantes Mário Araújo Xavier PotiLivre – Natal, Rio Grande do Norte marioiurd3@gmail.com Telegram/Whatsapp→ +55 84 98768 8300
  • 2. Objetivo • Em 2 horas ver o máximo de conteudo PHP; • Conhecer as funções mais importantes; • Treinar e programar em PHP :) • Vamos treinar simulando um sistema para o Restaurante Mangai; • Vamos implementar rotinas para situações comuns em um restaurante;
  • 3. Quem sou eu • Sysadmin na área industrial; • Membro do PotiLivre • Membro do PHP com Rapadura – Fortaleza, Ceará
  • 4. PHP com Rapadura • A melhor comunidade de PHP do mundo :D • http://phpcomrapadura.org • Telegram: @phpcomrapadura
  • 5. Grupos no Brasil PHP MA: @phpmaranhao https://telegram.me/phpmaranhao PHP BA: @phpba https://telegram.me/phpba PHP DF: @phpdf https://telegram.me/phpdf PHP com Rapadura: @phpcomrapadura https://telegram.me/phpcomrapadura
  • 6. Grupos no Brasil PHP Curitiba: @phpcuritiba https://telegram.me/phpcuritiba PHP RJ: @phprio https://telegram.me/phprio PHPeste: @PHPeste https://telegram.me/PHPeste Grupo do PHP Brasil : @phpbrasil [http://telegram.me/PHPBrasil] (http://telegram.me/phpbrasil)
  • 7. Roteiro • O que é PHP? • Ambiente de desenvolvimento para PHP; • Hello World! • Comentários, Operadores de atribuição e Concatenação; • Estrutura de Decisão – If Else; • Laço For, Arrays e Funções;
  • 8. O que é PHP? Usada por 80% da internet Linguagem interpretada Server Side Muito parecida com C/C++ Simples de aprender Uma comunidade muito forte e ativa
  • 9. Como funciona? PHP + Servidor Apache + MySQL (ou outro banco)
  • 13. Hello World! <?php Echo “Hello World!”; ?> Ou, resumidamente: <? echo “Hello World!”; ?>
  • 14. Comentários <?php // Esse é um comentário de 1 linha :D Echo “Bom dia!”; /* Esse é um comentário de Várias Linhas :D */ ?>
  • 15. Operadores de atribuição Em PHP, usamos os seguintes tipos: - Inteiro; - Ponto flutuante; - String; - Array; - Objeto; A tipagem em PHP é dinâmica, a variavel pode receber valores de tipos diferentes em diferentes momento na execução do código
  • 16. Operadores de atribuição Inteiros: $pizza = 20; echo $pizza; Ponto flutuante $cachorroQuente = 2.50; echo $cachorroQuente;
  • 17. Operadores de atribuição String $almoco = “Bife a Milanesa”; echo $almoco; Para pular uma linha, usamos a tag html <br> como uma string “<br>”: $almoco = “Bife a Milanesa <br>”; Echo $almoco; Echo “fim do cardápio”;
  • 18. Concatenação Podemos imprimir um valor numerico (ou qualquer tipo) junto com uma frase, como abaixo: echo “Seja bem vindo ao Mangai!<br>”; echo “A sugestão do chef para hoje é: ”.$prato01; echo “O preço do prato eh:”.$preco01;
  • 19. Exercício 1) Você foi contratado para fazer um sistema para o restaurante Mangai. O sistema vai montar um cardápio de um restaurante. Crie 5 variáveis para 5 pratos e imprima esses nomes: $prato01, $prato02….., $prato05 2) Defina valores dos pratos do seu restaurante. Crie 5 variáveis para 5 preços e imprima esses valores: $preco01, $preco02, ……. $preco05
  • 20. Exercicio 3) Defina a quantidade de cada prato, que vai ser solicitado ao chef. Crie 5 variáveis para 5 quantidades e imprima esses valores: $qtde01, $qtde02,……., $qtde05 4) Crie 5 variáveis para 5 bebidas e imprima esses nomes: $beb01, $beb02….., $beb05
  • 21. Estrutura de Decisão – If Else 1º Exemplo if ( estou com fome ) { echo "Vou almocar :) "; } else echo "Não vou almoçar :) ";
  • 22. Estrutura de Decisão – If Else 2º Exemplo // Rotina para pagamento no débito if ($precoPrato <= $SaldoCartao) { echo "Obrigado pelo pagamento! Volte sempre! <br> "; } else echo "Valor insuficiente. Tente outras formas de pagamento<br>";
  • 23. Exercicio 1 - Comanda
  • 24. Exercicio 1 Implemente uma rotina para a Comanda do cliente, para pagamento em cartão. Calcule a soma dos pedidos e faça uma rotina com IF e ELSE para checar se o valor da comanda eh igual ou menor que o valor do saldo do cartão. Em caso positivo, informe ao cliente que o pagamento foi validado. Em caso negativo, informe ao cliente que o valor eh insuficiente
  • 25. Exercicio 2 - Delivery
  • 26. Exercicio 2 No sistema do restaurante Mangai, vamos fazer uma função para o delivery do restaurante, com pagamentos online ou via aplicativo. O cliente pode pagar usando credito ou débito. Faça uma rotina com IF e ELSE para que o sistema cheque se o valor do prato eh igual ou menor que o limite do cartão do cliente
  • 28. Laço For for ($i=0; $i < 10; $i++) { echo "Olá mundo"; } // Se colocar uma concatenacao temos: for ($i=0; $i < 10; $i++) { echo "olá mundo ".$i."<br>"; }
  • 30. Exercício Exercício 1: No sistema do Mangai, usando o laço For, imprima uma lista de 50 mesas, para o sistema registrar se a mesa está livre ou ocupada, como no resultado abaixo: Mesa 1 ==> Mesa 2 ==> Mesa 3 ==> Mesa 50 ==>
  • 31. Array Podemos entender Arrays em PHP como mapeamentos ou como vetores indexados. Um valor do tipo array é um dicionário onde os índices são as chaves de acesso. <? $cor = array( 1 => “vermelho, 2 => “verde, 3 => “azul”); ?>
  • 32. Array Podemos fazer a mesma associação de variaveis, de outra maneira: <? $cor[1] = “vermelho”; $cor[2] = “verde”; $cor[3] = “azul”; $cor[“teste”] = 1; ?>
  • 33. Array Exemplo: No restaurante Mangai, o sistema vai relacionar uma lista de ingredientes para o setor de compras fazer a cotaçao. Em Array, seria: $ingredCotacao = array ( 1 => “Frango”, 2 => “Cebola”, 3 => “Farinha de trigo”, 4 => “Camarão”, 5 => “Tomate” );
  • 34. Array Podemos imprimir esse array com as funções var_dump(); e print_r(); var_dump($ingredCotacao); ou print_r($ingredCotacao);
  • 35. Exercicio 1 O sistema do Mangai vai coletar uma lista de submenus, por exemplo: Sucos: Laranja, maracujá, Goiaba, Graviola, etc Salgados: Pastel, Coxinha, Risole, Folheado etc Frutos do mar: Camarão, Lagosta, etc
  • 36. Exercicio 2 Crie um array para Sucos, outro para Salgados e outro para frutos do mar para armazenar 10 itens de cada submenu, totalizando 30 opções no cardápio.
  • 37. Exercicio 3 Controle de Almoxarifado
  • 38. Exercicio 3 Crie um array para controle do almoxarifado do restaurante. Esse array para controle deverá ter:  Código do produto  Nome/descrição  Quantidade em estoque  Valor de venda  Volume
  • 39. Exercicio 3 Por exemplo: $RefriGuarana["codigo"] = 1020; $RefriGuarana["nome"] = "Guarana Antartica"; $RefriGuarana["qtde"] = 50; $RefriGuarana["valor"] = 2.50; $RefriGuarana["volume"] = 600; print_r ($RefriGuarana);
  • 40. Exercicio 3 Crie um array para Refrigerante Fanta Guaraná Crie um array para Água Mineral sem gás Crie um array para Coca-cola 3 litros Crie um array para Sorvete de Chocolate Crie um array para Suco Laranja Tampico
  • 41. Array com laço For Podemos usar o laço for para consultar e imprimir dados do array: for ($i=1; $i <= (count($doces)); $i++) { echo "<br><br>Bem vindo ao Mangai<br>"; echo "O doce na sobremesa de hoje é: ".$doces[$i]; }
  • 42. Exercicio 1 Imprima 1 dos 5 arrays criados com um layout diferente usando o Laço For
  • 43. Array com laço For Podemos usar o laço for para alimentar o array: for ($i=1; $i <= (count($doces)); $i++) { echo "<br><br>Bem vindo ao Mangai<br>"; $doces[$i] = "Petit Gateau"; }
  • 44. Foreach Repetição somente para arrays, objetos e matrizes Sintaxe mais simples do que o Laço For Não usa contador
  • 45. Foreach $frutas = array (“maça”, “banana”, “caju”, “laranja”, “pêssego”); Foreach ($frutas as $valor) { – echo $valor.”<br>”; }
  • 46. Exercicio 1 1) Usando Foreach, imprima 2 arrays construidos no exercicio anterior; 2) Usando Foreach, alimente 2 arrays construidos no exercicio anterior; 3) Usando Foreach, crie um novo array que é a concatenação de 2 arrays;
  • 47. Funções - Dividir o código para aproveitar em outros sistemas; - Facilitar o entendimento e reaproveitamento do código, com a divisão em partes;
  • 48. Funções Function EntradaMangai() { Echo “Seja bem vindo ao Mangai!” } ;
  • 49. Funções Função para soma Function Soma2Valores ($n1, $n2) { Echo “A soma dos valores é: ”.$n1+$n2; }
  • 50. Exercicios 1) Crie uma função para imprimir o nome completo do funcionario que logou no sistema do Mangai. 2) Crie uma função para multiplicar 2 valores 3) Crie uma função para subtrair 2 valores 4) Crie uma função para dividir 2 valores
  • 51. Método POST • O PHP usa o método POST para enviar dados por formulários HTML; • Usado por exemplo em: Login, Cadastro de usuário, Compra pela internet, Inscrição em eventos,, Pedido de comida delivery, Fatura de cartão de crédito, etc
  • 52. Método POST • Para isso precisamos montar um formulário HTML; • Formulário HTML: arquivo .html que associa cada valor digitado a uma variável, que o PHP captura; • Os dados do formulário podem ser dos tipos: text, date, email, password, file, radio, checkbox, button, etc
  • 53. Método POST • Tag HTML: divisão do código HTML para criar qualquer elemento na pagina web <html> <head> </head> <body> </body> </html>
  • 54. Método POST • O método POST pode ser implementado de 2 maneiras: • 1 arquivo .php e 1 arquivo .html; • 1 arquivo com o php e html; • Por boas práticas de programação, NÃO é aconselhável misturar PHP e HTML no mesmo código; • Pode ser um problema quando o código aumentar; • Facilita o entendimento do código no futuro; • Facilita o reaproveitamento do código em outros sistemas; • Facilita o compartilhamento do código com outros programadores;
  • 55. Método POST • Cada item do formulário como Nome, Telefone, email, Endereço é representado no HTML com a tag input <html> <head> </head> <body> <form action=”cadastro.php” method=“post”> Nome: <input type=“text” name=“nome” value=“digite seu nome”> </form> </body> </html>
  • 56. Método POST • Esse é código do arquivo teste.php que recebe os dados do formulário com a variável de ambiente $_POST[ ]: <?php Echo “Seja bem-vindo!<br><br>”; echo “Nome completo: ”.$_POST[“nome”] ?>
  • 57. Exercicios 1. Crie um formulário chamado cadastro.html, onde vai ser feito um cadastro com: • Nome, • Telefone, • Data de Nascimento, • WhatsApp, • Email, • Senha, • Gênero, • Foto de perfil, • Perguntar ao usuário sobre assinar newsletter e aceitar Termos e Condições do sistema; O cadastro.html precisa redirecionar para cadastro.php
  • 58. Exercicios 1. Crie um arquivo chamado cadastro.php, que vai receber os dados do formulário e imprimir uma ficha cadastral. Para isso use a variável de ambiente $_POST[ ]
  • 60. Exercicios 2. Crie um formulário para a Comanda do restaurante, chamado comanda.html, contendo os seguintes dados:  Quantidade de pessoas na mesa;  Data e hora do consumo;  Peso do prato consumido;  Código e qtde de refrigerantes lata  Código e qtde de água mineral em garrafa;  Código e qtde de sobremesas;  Forma de pagamento;  Código do garçom;
  • 61. Exercicios 2. Crie o arquivo comanda.php para:  Dar uma mensagem de boas-vindas;  Gera o número da NFE – Nota Fiscal Eletrônica;  Receber as quantidades de cada alimento consumido;  Multiplicar pelo valor unitário de cada produto;  Imprimir a Comanda detalhada com os produtos consumidos, data e hora  Calcula a imprime o valor total a ser pago;  Imprime o nome do garçom que atendeu;
  • 63. Exercicios 1. Crie um formulário para o Delivery do restaurante, chamado delivery.html, contendo os seguintes dados:  Nome do cliente;  Endereço;  Telefone;  Código e qtde de cada produto pedido  Forma de pagamento;  Código do motoboy;
  • 64. Exercicios 2. Crie o arquivo delivery.php para:  Dar uma mensagem de boas-vindas;  Gera o número da NFE – Nota Fiscal Eletrônica;  Receber as quantidades de cada alimento consumido;  Multiplicar pelo valor unitário de cada produto;  Imprimir o comprovante detalhado com os produtos consumidos, data, hora e o valor total a ser pago;  Imprime o nome do motoboy que entregou;
  • 66. PHP para iniciantes Mário Araújo Xavier PotiLivre – Natal, Rio Grande do Norte marioiurd3@gmail.com Telegram/Whatsapp→ +55 84 98768 8300