Programador PHP - Relâmpago
Programador PHP - Relâmpago
RELÂMPAGO
Se Torne um Programador PHP em Tempo Recorde
INTRODUÇÃO
O PHP conta com uma comunidade sempre muito ativa e pronta para
dar suporte aos mais novos.
22 Formulários
a. Introdução
b. GET vs POST
i. Quando usar POST
ii. Quando usar GET
26 Base de Dados
a. CREATE DATABASE
b. DROP DATABASE
c. CREATE TABLE
d. DROP TABLE
27 Operadores Lógicos
a. AND
b. BETWEEN
c. IN
d. LIKE
e. NOT
f. OR
28 Instruções
a. SELECT
b. INSERT
c. UPDATE
d. DELETE
29 Entendendo o WHERE
30 Filtrando com HAVING
31 ORDER BY e LIMIT
32 GROUP BY
33 Relacionamento de Tabelas
34 INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN
ÍNDICE
PARTE 8 - Composer
44 Introdução
45 Autoload
PARTE 11 - Segurança
56 Tratamento de Upload de Arquivos
57 Criptografia
58 SQL Injection
59 Ataques XSS
PHP - O Início
1 História:
01
PHP - O Início
2 Versões:
PHP 3
Na história do PHP, o PHP 3.0 foi a primeira versão que se assemelha
ao PHP como existe hoje.
PHP 4
Em 1998, logo após o lançamento oficial do PHP 3.0, Andi Gutmans e
Zeev Suraski começaram a trabalhar na reescrita do núcleo do PHP.
O objetivo do projeto era melhorar o desempenho de aplicativos
complexos e melhorar a modularização da base de código PHP.
PHP 5
O PHP 5 foi lançado em julho de 2004 após um longo
desenvolvimento e vários lançamentos preliminares. Ele é
alimentado principalmente por seu núcleo Zend Engine 2.0, com um
novo modelo de objeto e dezenas de outros novos recursos.
PHP 7
Após anos de desenvolvimento, foi lançado oficialmente o PHP 7 em
dezembro de 2015. Entre as novidades mais importantes do PHP
versão 7 está seu desempenho.
02
Lógica de Programação
3 Lógica:
03
Lógica de Programação
4 Algoritmo
04
PHP Básico - O Início
5 Sintaxe
Exemplo:
<?php
// código php aqui
?>
05
PHP Básico
<!DOCTYPE html>
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
echo "Olá, Mundo!";
?>
</body>
</html>
6 Variáveis
06
PHP Básico
07
PHP Básico
7 Comentários
Exemplo:
<?php
// Comentário de linha única
/*
Comentário de múltiplas linhas
*/
?>
8 Tipos
String
O tipo String recebe caracteres.
Exemplo:
<?php
$texto = "Olá, Mundo!";
echo $texto;
?>
08
PHP Básico
Integer
O tipo integer é um número não decimal.
Exemplo:
<?php
$x = 2022;
var_dump($x);
?>
Boolean
O tipo booleano aceita apenas os valores true ou false.
Esse tipo de dado é muito útil quando queremos validar alguma
condição.
09
PHP Básico
Exemplo:
<?php
$online = true;
if($online){
echo 'O valor da variável: $online é verdadeiro';
}
?>
Array
Um array permite criar uma lista com diversos valores, isso significa
que se você tiver dez nomes para apresentar na tela, não será
necessário criar uma variável específica para cada um desses
nomes. Com um array você conseguirá gravar esses 10 nomes em
uma única variável.
Exemplo:
<?php
?>
Object
Um objeto é o que retorna de uma classe.
No capítulo de orientação a objetos iremos ver com detalhes o que
são classes.
10
PHP Básico
NULL
Esse tipo de dado é usado para indicar que a variável não tem valor,
ou seja, nenhum valor foi atribuído ainda.
Exemplo:
<?php
if(is_null($nome)){
echo "é nulo";
}
9 Constantes
Constantes são variáveis, mas uma vez que tenham sido definidas
não podem ser alteradas.
Sintaxe:
define(name, value, case-insensitive)
11
PHP Básico
Parâmetros:
name: especifica o nome da constante.
value: especifica o valor da constante.
case-insensitive: especifica o nome deve diferenciar maiúsculas e
minúsculas.
Exemplo:
<?php
define("DANKICODE", "Os melhores cursos para você!");
echo DANKICODE;
?>
10 Arrays
<?php
$conteudos = array("Web", "Games", "Marketing", "Empreendedorismo");
echo "Aprenda sobre " . $conteudos[0] . ", " . $conteudos[1] . ", " . $conteudos[2] . ", " .
$conteudos[3] . " e muito mais.";
?>
12
PHP Básico
<?php
$conteudos = ["Web", "Games", "Marketing", "Empreendedorismo"];
echo "Aprenda sobre " . $conteudos[0] . ", " . $conteudos[1] . ", " . $conteudos[2] . ", " . $conteudos[3] . " e muito mais.";
?>
11 Operadores Lógicos
and
or
xor
!
operador AND:
Será verdadeiro apenas quando TODAS as expressões comparadas forem verdadeiras.
operador OR:
Quando uma OU outra expressão for verdadeira, então toda a expressão será verdadeira.
operador XOR:
Será verdadeiro se QUALQUER uma das expressões forem verdadeiras.
operador !:
Esse operador inverte o que é TRUE para FALSE, e FALSE para TRUE.
operador &&:
Igual o operador AND
operador ||:
Igual o operador OR
13
PHP Básico
12 Operadores Aritméticos
+ adição
exemplo: $x + $y
- subtração
exemplo: $x - $y
* multiplicação
exemplo: $x * $y
/ divisão
exemplo: $x / $y
% módulo
exemplo: $x % $y
** exponenciação
exemplo: $x ** $y
14
PHP Básico
13 Operadores de Atribuição
=
atribuição simples.
+=
atribuição com adição
-=
atribuição com subtração
*=
atribuição com multiplicação
/=
atribuição com divisão
%=
atribuição com módulos
.=
atribuição com concatenação
15
PHP Básico
14 Operadores de Comparação
== igual
=== idêntico
!= não é igual
16
PHP Básico
17
PHP Básico
16 Funções
Exemplo:
<?php
function exemplo()
{
//código que será executado
}
?>
Exemplo:
<?php
function olaMundo()
{
echo "Olá, Mundo!";
}
olaMundo();
?>
18
PHP Básico
Argumentos de função:
Exemplo:
<?php
function area($nome, $categoria){
echo "Curso $nome em $categoria<br>";
}
19
PHP Básico
Retornar valores:
Exemplo:
<?php
function soma($x, $y){
return $x + $y;
}
echo soma(4, 9);
?>
17 Funções Matemáticas
20
PHP Intermediário
18 Manipulando Strings
Ou seja, para criar uma nova String, primeiro você precisa abrir as
aspas, colocar uma sequência de caracteres alfanuméricos e
depois fechar as aspas, por exemplo, "senha1234".
explode:
O objetivo da função explodir é dividir a String em partes, após o
que a função retornará uma lista de String contendo todas as
partes da String original, que é um array.
implode:
A função explodir retorna um array contendo partes de uma string,
enquanto a função implode retorna uma string que consiste em
todas as strings do array.
21
PHP Intermediário
substr:
Se você precisar extrair uma parte de uma String, precisará
determinar o comprimento da String e onde começar a extrair a
String que deseja extrair.
substr_replace:
A função substr_replace substitui texto em uma string, esta função
recebe como parâmetros o texto a ser encontrado, o novo texto que
irá substituir, e a string na qual será feita a busca e substituição,
veja a estrutura da função um pouco abaixo.
strlen:
Essa função recebe uma string como parâmetro e retorna o número
total de caracteres que a string possui, que é o comprimento da
string.
strtoupper:
A função strtoupper pega uma string como argumento e retorna a
mesma string com todos os caracteres em maiúsculas.
strtolower:
Se você tiver uma string em que os caracteres desta string são
maiúsculos e minúsculos e deseja que todos os caracteres sejam
minúsculos.
22
PHP Intermediário
19 Manipulação de Datas
O que é o date?
23
PHP Intermediário
O que é o timestamp?
echo time();
20 Manipulando Arrays
Array em PHP nada mais é do que uma estrutura de dados que nos
permite gravar e acessar dados de forma heterogênea ou
isomórfica, ou seja, podemos criar um Array para gravar mais de um
tipo de dado, como inserir Integer, String , Object e outros tipos de
valores
Exemplo:
$arr = array();
print_r($arr);
24
PHP Intermediário
Exemplo:
$arr = array(
'chave1' => 'valor1', 'chave2' => 'valor2', 'chave3' => 'valor3'
);
print_r($arr);
Exemplo:
$arr = [
'chave1' => 'valor1', 'chave2' => 'valor2', 'chave3' => 'valor3'
];
print_r($arr);
25
PHP Intermediário
Exemplo:
//declarando um array da forma reduzida que foi disponibilizada a partir da versão 5.4
$dc = []; //array vazio
print_r($dc);
Exemplo:
26
PHP Intermediário
$dc[] = "Batman"; // a chave será igual a 0 e com o valor Batman
$dc[] = "Superman"; // a chave será igual a 1 e com o valor Superman
$dc[] = "Mulher Maravilha"; // a chave será igual a 2 e com o valor Mulher Maravilha
21 Estruturas de Controle
a. Estrutura de Condição
if/else
else if
switch
27
PHP Intermediário
if else
<?php
$idade = 18;
if ($idade >= 18) {
// maior de idade;
echo "Maior de idade";
} else {
// menor de idade;
echo "Menor de idade";
}
?>
else if
<
28
PHP Intermediário
switch (expressão) {
case valor1:
//código a ser executado se a expressão for igual ao valor1
break;
case valor2:
//código a ser executado se a expressão for igual ao valor2
break;
case valorN:
//código a ser executado se a expressão for igual ao valorN
break;
}
Exemplos usados:
Clique Aqui
29
PHP Intermediário
b. Estrutura de Repetição
while
do-while
for
foreach
Exemplo:
$count = 1;
30
PHP Intermediário
$check = false;
do {
echo 'Danki Code';
} while ($check == true);
// Resultado: Danki Code
31
PHP Intermediário
22 Formulários
Introdução
32
PHP Intermediário
33
PHP Intermediário
GET ou POST
Exemplos usados
Clique Aqui
34
PHP Intermediário
Exemplos usados
Clique Aqui
35
Banco de Dados - SQL
24 Introdução
25 Tipos de Dados
36
Banco de Dados - SQL
Ponto decimal com M dígitos no total (precisão) e D casas decimais
DECIMAL(M,D)
(escala); o padrão é 10,0; M vai até 65 e D até 30
37
Banco de Dados - SQL
26 Base de Dados
CREATE DATABASE
A declaração CREATE DATABASE permite criar um novo banco de dados.
Exemplo:
CREATE DATABASE pacientes;
DROP DATABASE
A declaração DROP DATABASE irá excluir uma base de dados já existente.
Exemplo:
DROP DATABASE pacientes;
CREATE TABLE
A declaração CREATE TABLE permite a criação de uma nova tabela.
Exemplo:
CREATE TABLE pacientes (id int, nome varchar(255), endereco varchar(255));
DROP TABLE
A declaração DROP TABLE irá excluir uma tabela já existente.
Exemplo:
DROP TABLE pacientes;
38
Banco de Dados - SQL
27 Operadores Lógicos
AND
Será verdadeiro se todas as condições forem verdadeiras.
BETWEEN
O BETWEEN permite consultar valores que estão dentro de alguma faixa.
Exemplo:
Um valor que esteja entre 10 e 100
IN
O IN irá verificar se o valor de uma coluna está presente em uma lista de expressões.
LIKE
O LIKE irá retornar um registro se algum padrão for encontrado.
Exemplo:
LIKE 10
Caso exista, todos os registros com valor 10 serão retornados.
NOT
Irá retornar um registro caso a condição não seja verdadeira.
OR
Será verdadeiro se alguma das condições for verdadeira.
39
Banco de Dados - SQL
28 Instruções SQL
SELECT
A instrução SELECT irá selecionar registros de uma tabela.
Exemplo:
SELECT * FROM pacientes;
INSERT INTO
A instrução INSERT INTO irá inserir novos registros em uma tabela.
Exemplo:
INSERT INTO pacientes VALUES ("Bruce", "Wayne");
UPDATE
A instrução UPDATE é usada para editar registros de uma tabela.
Exemplo:
UPDATE pacientes SET coluna = valor WHERE condicao;
DELETE
A instrução DELETE irá excluir registros de uma tabela.
Exemplo:
DELETE FROM pacientes WHERE condicao;
40
Banco de Dados - SQL
29 Entendendo o WHERE
Exemplo:
SELECT * FROM paises WHERE pais = 'Brasil';
SELECT
A instrução SELECT irá selecionar registros de uma tabela.
Exemplo:
SELECT * FROM pacientes;
INSERT INTO
A instrução INSERT INTO irá inserir novos registros em uma tabela.
Exemplo:
INSERT INTO pacientes VALUES ("Bruce", "Wayne");
41
Banco de Dados - SQL
UPDATE
A instrução UPDATE é usada para editar registros de uma tabela.
Exemplo:
UPDATE pacientes SET coluna = valor WHERE condicao;
DELETE
A instrução DELETE irá excluir registros de uma tabela.
Exemplo:
DELETE FROM pacientes WHERE condicao;
31 ORDER BY e LIMIT
42
Banco de Dados - SQL
Exemplo:
SELECT * FROM pacientes ORDER BY idade DESC;
32 GROUP BY
Exemplo:
Imagine que temos uma sala cheia de pessoas que nasceram em
países diferentes.
43
Banco de Dados - SQL
33 Relacionamento de Tabelas
INNER JOIN
Exemplo:
SELECT colunas
FROM tabela1
INNER JOIN tabela2
ON tabela1.coluna=tabela2.coluna;
44
Banco de Dados - SQL
LEFT JOIN
RIGHT JOIN
Exemplos usados
Clique Aqui
45
Banco de dados com PDO
35 Introdução
36 Conexão
Exemplo simples:
<?php
$conn = new PDO('mysql:host=localhost;dbname=meuBancoDeDados', "user",
"senha");
?>
46
Banco de dados com PDO
<?php
try {
$pdo = new PDO('mysql:host=' . HOST . ';dbname=' . "minhabasededados", "user",
"senha", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (Exception $e) {
echo '<h2>Erro ao conectar</h2>';
} Exemplos usados
?> Clique Aqui
37 PDO Statement
47
Banco de dados com PDO
$id = 7;
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco_de_dados',
'username','password');
$sql = $banco->prepare("DELETE FROM `usuario` WHERE id = ?");
$sql->execute([$id]);
48
Banco de dados com PDO
$id = 1;
$sql = $banco->prepare("SELECT * FROM `usuario` WHERE id = ?");
$sql->execute(["id"]);
$usuarios = $sql->fetch();
echo $usuarios['nome'];
49
Banco de dados com PDO
43 Erros e Exceções
50
Composer
44 Introdução
51
Composer
Instalando o Composer
Comando:
composer
Exemplos usados
Clique Aqui
52
Composer
45 Autoload
Uma aplicação PHP, por menor que seja, deve ser dividida em vários
arquivos para manter a organização. Portanto, os arquivos devem
ser incluídos para usar o código neles contidos. Para isso, utilizamos
o que chamamos de autoloading no PHP, que é basicamente a lógica
de carregar automaticamente nossos arquivos.
Fazendo o autoloading
53
Composer
src/
---App/
composer.json
index.php
vendor
"require": {},
"autoload": {
"psr-4": {
"App\\": "src/App"
}
}
54
Composer
src/
---App/
------Application.php
------Controllers
------Models
------Views
composer.json
vendor
index.php
<?php
O arquivo responsável por fazer o
namespace App; carregamento das classes se chama
autoload.php e está presente na
class Application pasta vendor que foi gerada após
{ rodamos o comando composer init
public function __construct()
{
echo "rodando";
Exemplos usados
} Clique Aqui
}
?>
55
PHP Avançado
46 include e include_once
include:
Exemplo:
<?php
include("arquivo.php");
?>
include_once:
Exemplo:
<?php
include_once("umarquivo.php");
?>
56
PHP Avançado
47 require e require_once
require:
Exemplo:
<?php
require("umarquivo.php");
?>
require_once:
Exemplo:
<?php
require_once("umarquivo.php"); Exemplos usados
?>
Clique Aqui
57
PHP Avançado
48 Upload de Arquivos
58
PHP Avançado
<?php
$arquivo = $_FILES['arquivo'];
?>
** Atenção **
Nenhuma validação foi feita no código acima e isso pode ser
extremamente prejudicial ao nosso sistema. No capítulo de
Segurança iremos ver como validar os arquivos antes de enviá-los
ao sistema.
Exemplos usados
Clique Aqui
59
PHP Avançado
49 Cookies
Um exemplo simples são os sites que não pedem para você redigitar
sua senha para fazer login, os cookies também são muito úteis em
lojas virtuais, uma vez que um cookie é colocado em seu carrinho de
compras, você pode voltar ao site e encontrar itens você adicionou
anteriormente ao seu carrinho.
Exemplo:
<?php
60
PHP Avançado
Clique Aqui
Dica: cada hora tem 3600 segundos e cada dia tem 86400 segundos.
<?php
61
PHP Avançado
<?php
// Cria o cookie meu_cookie
setcookie('meu_cookie', 'Novo valor do cookie');
<?php
// Apagando o cookie meu_cookie
setcookie('meu_cookie', '', time() - 3600);
?>
62
PHP Avançado
50 Sessões
<?php
// Iniciando uma sessão
session_start();
?>
<?php
// Iniciando uma sessão
session_start();
64
PHP Avançado
<?php
// Inicia a sessão
session_start();
if (isset($_SESSION["sobrenome"])) {
65
PHP Avançado
51 Manipulando Arquivos
Abrindo um arquivo
Exemplo:
66
PHP Avançado
Criando e Escrevendo
52 Filtros no PHP
67
PHP Avançado
Validando e Limpando
Filtros de limpeza
São usados para permitir ou não determinados caracteres.
<?php
$email = "atendimento@dankicode.com";
?>
68
PHP Avançado
Filtros de validação
São usados para validar a entrada de dados.
<?php
$email = "atendimento@dankicode.com";
//validando o email
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo ("$email é um endereço de email válido.");
} else {
echo ("$email não é um endereço de email válido.");
}
?>
Exemplos usados:
Clique Aqui
69
MVC: Model - View - Controller
53 Model / Modelo
54 View / Visão
70
MVC: Model - View - Controller
55 Controle / Controlador
71
Segurança no PHP
if (empty($_FILES["arquivo"]['tmp_name'])) {
echo "nenhum arquivo foi carregado";
}
72
Segurança no PHP
2)
if ($_FILES["arquivo"]['size'] === 0) {
echo "arquivo sem tamanho";
}
3)
4)
if ($_FILES["arquivo"]['type'] != "image/png") {
die("formato não permitido.");
}
73
Segurança no PHP
if (empty($_FILES["arquivo"]['tmp_name'])) {
echo "nenhum arquivo foi carregado";
}else{
if ($_FILES["arquivo"]['size'] === 0) {
echo "arquivo sem tamanho";
} else {
if ($_FILES["arquivo"]['size'] >= 1000000) {
echo "tamanho grande";
} else {
if ($_FILES["arquivo"]['type'] != "image/png") {
die("formato não permitido.");
}else{
move_uploaded_file($_FILES['arquivo']['tmp_name'], "arquivos/" .
$_FILES["arquivo"]['name']);
echo "Arquivo enviado com sucesso";
}
}
}
}
Exemplo usado:
Clique Aqui
57 Criptografia
74
Segurança no PHP
Password Hash
Exemplo:
<?php
$password = $_POST['senha'];
75
Segurança no PHP
58 SQL Injection
Exemplo
$id = 7;
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco_de_dados',
'username','password');
$sql = $banco->prepare("DELETE FROM `usuario` WHERE id = ?");
$sql->execute([$id]);
76
Segurança no PHP
59 Ataques XSS
77
Segurança no PHP
Leia mais:
https://cheatsheetseries.owasp.org/cheatsheets/Content_Security
_Policy_Cheat_Sheet.html
Clique Aqui
78
Segurança no PHP
Exemplo:
htmlentities()
79
CONCLUSÃO
Aproveite pois este SUPER DESCONTO não ficará disponível por muito tempo.
Adquira AGORA MESMO e se destaque no mercado nacional e
internacional.
Caso prefira levar todos os mais de 150 cursos da plataforma,
lançamentos futuros e funcionalidades exclusivas garanta sua
vaga no Plano Vitalício e se torne um #EternoDanki.