Workshop de PHP

CRONOGRAMA

  • Instalação
  • Variáveis
  • Operadores
    • Operadores aritméticos
    • Operadores de atribuição
    • Operadores de comparação
    • Operadores lógicos
    • Operadores de string
  • Estruturas de controle
    • if, else e elseif

    • switch

    • while

    • for

Vamos começar?

PHP é um software livre, ou seja, está disponível para ser utilizada gratuitamente.

 

Além disso, ela não te limita a um sistema operacional, ela pode ser usada em qualquer um, proporcionando assim, mais liberdade.

 

Você pode consultar sua documentação e fazer download no site php.net.

Olá, mundo!

O php possui um modo interativo e com ele vamos executar nosso primeiro código. Com o terminal aberto digite o seguinte comando:

php -a

Digite: echo "Olá, mundo"; e pressione enter.

Pronto! Assim o seu código será executado.

Para sair do modo interativo do PHP, digite:

ctrl + c ou exit

Criando arquivos PHP

Você também pode criar um arquivo de texto e executá-lo no terminal! Recomendamos o uso do Visual Studio Code ou Codium.

  • Começar com a seguinte abertura de tag : <?php
  • Salvar com a extensão .php
    • Exemplo: ola_mundo.php

 

<?php
echo 'Olá, mundo!';

Executando arquivos PHP

Com o terminal aberto, digite:

 

php ola_mundo.php

Pressione enter. Desta forma o terminal irá executar seu arquivo PHP.

 

Importante! É recomendável que você esteja na raiz do projeto para executá-lo.

Executando arquivos PHP

O VSCode ou Codium tem um terminal embutido. Para abrir clique em Terminal/NewTerminal em seguida digite:

php ola_mundo.php

Pressione enter. Desta forma o terminal irá executar seu arquivo PHP.

 

 

Importante! É recomendável que você esteja na raiz do projeto para executá-lo.

Variáveis

Variáveis

  • Variáveis são espaços reservados na memória para armazenar dados.
  • As variáveis são representadas por um cifrão ($) seguido de um nome.

  Exemplo:

 

$meu_nome = "Ana";

Nomeação de Variáveis

  • Não iniciar com números.
  • Não utilizar espaços em branco.
  • Não utilizar caracteres especiais, somente underline.
  • Pode ter seu nome em: minúsculo, camelCase ou CamelCase
// uso de CamelCase
$DataAniversario

// primeira minúscula e segunda maiúscula
$dataAniversario

// uso de underline
$data_Aniversario

Testando seu conhecimento

  • $num10
  • $1num
  • $diaDaSemana
  • $MinhaIdade
  • $minha-idade
  • $minha_idade
  • $minha idade
  • $dólar
  • $REAL

Quais nomes de variáveis estão incorretos?

Testando seu conhecimento

  • $num10
  • $1num
  • $diaDaSemana
  • $MinhaIdade
  • $minha-idade
  • $minha_idade
  • $minha idade
  • $dólar
  • $REAL

Quais nomes de variáveis estão incorretos?

Exemplo de variáveis

<?php
$inteiro = 23; // inteiro

$float = 4.50; //float

$string = 'Olá, mundo!'; //string

$boleeano = TRUE; // boleano

Tipos de variáveis - imprimindo

// imprime na tela integer
echo gettype($inteiro) . PHP_EOL;

// imprime na tela double
echo gettype($float) . PHP_EOL;

// imprime na tela string
echo gettype($string). PHP_EOL;

// imprime na tela boolean
echo gettype($boleeano) . PHP_EOL;
var_dump($inteiro);
// int(23)

var_dump($float);
// float(4.5)

var_dump($string);
// string(12) "Olá, mundo!"

var_dump($boleeano);
// bool(true)

Tipos de variáveis - imprimindo

  • integer (números inteiros)
  • float (número de ponto flutuante, ou também double)
  • string (texto que escrevemos entre aspas)
  • boolean (verdadeiro ou falso)

Tipos de dado

Tipos de dado

<?php

$vaiChover = true; //boolean

$idade = 27; //interger

$pi = 3.1415; //float

$meu_Nome = "Maria"; //string

Nota: Para checar o tipo e valor de uma expressão, utilize a função var_dump().

Exercitando

Operadores

Operadores de atribuição

O operador básico de atribuição é o =

O valor de "$a = 3" é 3, ou seja $a recebe 3

Isto permite que você faça alguns truques:

<?php

$a = ($b = 4) + 5;

$a é igual a 9 agora e $b foi definido como 4

Operadores de atribuição

Além do operador básico de atribuição, há os "operadores combinados", que permitem a você pegar um valor de uma expressão adicionar usar seu próprio valor ao resultado.

<?php

$a = 3;
$a += 5;

Define $a para 8, como se disséssemos: $a = $a + 5;

Exemplo Nome Resultado
$a == $b Igual Verdadeiro (TRUE) se $a é igual a $b.
$a === $b Idêntico Verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo tipo.
$a != $b
$a <> $b
Diferente Verdadeiro se $a não é igual a $b.
$a < $b Menor que Verdadeiro se $a é menor que $b.
$a > $b Maior que Verdadeiro se $a é estritamente maior que $b.
$a <= $b Menor ou igual Verdadeiro se $a é menor ou igual a $b.
$a >= $b Maior ou igual Verdadeiro se $a é maior ou igual a $b.

Operadores de comparação

Operadores de comparação

<?php
var_dump(0 == "0.0");
// 0 == 0 -> true

var_dump("1" == "01");
// 1 == 1 -> true

var_dump("10" < "3");
// 10 < 3 -> false

var_dump(100 >= "100");
// 100 >= 100 -> true

var_dump( 2 >= '2');
// 2 >= 100 -> true

var_dump( 'Olá, mundo' == 'Olá, Mundo');
// Olá, mundo == Olá, Mundo -> false

var_dump( 'Olá, mundo' == 'Olá, mundo');
// Olá, mundo == Olá, mundo -> true

Exercício

Considere 4 variáveis a, b, c e d. Dado que:

  • a é igual a 4 elevado ao quadrado,
  • b é igual a a dividido por 8,
  • c é igual a a dividido por b,
  • d é igual a 16

Verifique e imprima na tela:

  1. Se a é maior que c
  2. Se b é menor que c
  3. Se a é igual a c
  4. Se a é igual a d
  5. Se a é idêntico a d
  6. Se a condição 1 e a condição 2 são verdadeiras

Operadores lógicos

Foi criado por George Boole(1815-1864), são a base da computação.

Exemplo Nome Resultado
$a and $b
$a && $b
E Verdadeiro (TRUE) se tanto $a quanto $b são verdadeiros.
$a or $b
$a || $b
OU Verdadeiro se $a ou $b são verdadeiros.
$a xor $b XOR Verdadeiro se $a ou $b são verdadeiros, mas não ambos.
! $a NÃO Verdadeiro se $a não é verdadeiro.

Operadores lógicos - exemplos

<?php

$a = true;
$b = false;


$j = ($a && $b);
$k = ($a || $b);
$l = ($a and $b);
$m = ($a  or  $b);

var_dump($j); //false
var_dump($k); //true
var_dump($l); //false
var_dump($m); //true

Operadores de string

Há dois operadores de string.

  • O operador de concatenação . (um ponto), que retorna a concatenação do que está a esquerda e a direita do ponto.
  • E o operador de atribuição de concatenação .= (ponto igual), que acrescenta o que está a direita na variável a esquerda.
<?php
$a = "Olá ";
$b = $a . "mundo!"; // agora $b contém "Olá mundo!"

$a = "Olá ";
$a .= "mundo!";     // agora $a contém "Olá mundo!"

Brincando com strings

Manipular strings no desenvolvimento web é muito comum e se faz necessário em diversos casos. O PHP oferece diversas funções que fazem este trabalho pra nós. Confira!

<?php
echo strlen("PHPWomenBR"); 
// output: 10 

echo strtolower("PHPWOMENBR"); 
// output: phpwomenbr 

echo strtoupper("phpwomenbr"); 
// output: PHPWOMENBR 

strlen - função para contar letras.

strlower - deixa as letras minúsculas.

strtoupper- deixa as letras maiúsculas

Operadores aritméticos

Em php eles também são simples e têm a mesma simbologia em todas as linguagens de programação.
 

  • soma   +
  • subtração -
  • multiplicação *
  • divisão /
  • módulo %

 

Precedência de operadores

1ª Parênteses ( )

2ª Potenciação **

3ª Multiplicação, Divisão e Módulo(resto da divisão) *, /, %,

4ª Adição e Subtração +, -

Precedência de operadores - exemplo

<?php

$x = 5;
$y = 3;
$z = 2;

$expressao = $x + ($y ** $z) / $z;

echo $expressao;
  •  5 + 9 / 2
  • 5 + 4.5
  • Total 9.5

Exercícios

  1. Abra o terminal de comando.
  2. Abra o modo interativo do php usando (php -a).
  3. Calcule a soma de duas variáveis x e y, onde x é igual a 500 e y é igual a 830 e imprima o resultado no terminal
  4. Calcule a subtração destas variáveis.
  5. Calcule a multiplicação destas variáveis.
  6. Calcule a divisão destas variáveis.
  7. Calcule o resto da divisão 15 por 3.
  8. Calcule a potência 3 elevado a 2.

10 min

Para sair do modo interativo: use crtl + c ou exit

Desafio

Calculando a média de um aluno

 

1) Crie duas variáveis $nota1 = 8.0; e $nota2 = 9.0; que correspondem a 2 notas de um aluno.

 

2) A seguir, calcule a média e exiba na tela a média deste aluno.

10 min

Exercitando

Estruturas de controle

Estruturas de controle

Uma Estrutura de Controle é um bloco de programação que analisa variáveis e escolhe uma direção para seguir baseado nos parâmetros pré-definidos.

Estruturas de Controle Condicional - if

O if é uma estrutura de controle que insere um desvio na execução natural do programa. Caso a condição do if seja satisfeita, o programa irá executar as instruções do seu bloco de comandos.

<?php

$a = 5;
$b = 2;

if ($a > $b) {
    echo "a é maior que b";
}

Estruturas de Controle Condicional - else

Caso a condição do if não seja satisfeita podemos utilizar o else.

<?php

$a = 1;
$b = 2;

if ($a > $b) {
    echo "a é maior que b";
} else {
    echo "a NÃO é maior que b";
}

Estruturas de Controle Condicional - elseif

Caso a condição do if não seja satisfeita utilizando o else, também podemos criar várias condições usando elseif.  Ele executará uma expressão alternativa somente se a expressão condicional do elseif for avaliada como TRUE. Podemos ter vários elseif, porém só um else.

<?php

$a = 5;
$b = 2;

if ($a > $b) {
    echo "a é maior que b";
} elseif ($a == $b) {
    echo "a é igual a b";
} else {
    echo "a é menor que b";
}

Exercício

Maria está no primeiro ano do ensino médio. Neste semestre, maria teve 3 provas na disciplina de português. Na primeira prova, tirou nota 8. Na segunda, estava com problemas pessoais e acabou não tendo tempo de estudar, por isso tirou nota 5. Na terceira prova, Maria correu atrás do prejuízo e tirou nota 9 na prova.

 

Crie um programa que verifique se Maria vai conseguir passar de ano direto ou vai ficar de recuperação. Sabendo que a média para passar direto deve ser maior ou igual a 6.0 e, caso a média esteja menor que 4, o aluno é reprovado sem recuperação

O programa deve exibir na tela se ela Maira está aprovada, reprovada ou em recuperação.

Exercitando

Estruturas de Controle Condicional - switch

A declaração switch é similar a uma série de declarações if na mesma expressão. Em muitos casos, se deseja comparar a mesma variável com diferentes valores e executar pedaços diferentes de código dependendo de qual valor ela possui.

<?php

$idioma = "Português";

switch ($idioma) {
    case "Português";
        echo "Bem vindo";
        break;
    case "Inglês":
        echo "Welcome";
        break;
    case "Espanhol":
        echo "Bienvenido";
        break;
}

Exercitando

Estruturas de Repetição  - while

O while é uma estrutura de repetição que possui uma condição para poder ser executada. Ele estabelece um laço de repetição do seu bloco de comandos, até que a condição seja satisfeita.

No exemplo a seguir estamos imprimindo de 1 até 10.

<?php

$i = 1;
while ($i <= 10) {
    echo $i++ . PHP_EOL;
}
<?php
$i = 1;
while ($i <= 10) {
    echo $i . PHP_EOL;
    $i++;
}

Exercício

1. Construa um código para imprimir de 10 até 1 no terminal

2. Construa um código para imprimir de 2 até 20 pulando de 2 em 2.

$i = ?; //inicialize seu contador
while (      ) { //determine um ponto de parada
    echo $i++; //coloque a função para quebrar linha
}

Exercitando

Estruturas de Repetição  - for

O for é uma estrutura de repetição parecida com while, porém baseado em um contador. Ele é composto por um bloco com três expressões que estabelecem uma contagem. No exemplo a seguir estamos imprimindo de 1 até 10 utilizando o for

<?php

for ($i = 1; $i <= 10; $i++) {
    echo $i . PHP_EOL; //PHP_EOL para quebrar linha.
}

Exercício

Escreva um algoritmo que receba dois valores inteiros e imprima todos os valores entre eles considerando os valores digitados, veja o exemplo:

 

Primeiro Valor = 5

Segundo Valor = 15

Imprime: 5 6 7 8 9 10 11 12 13 14 15

Desafio - Tabuada

Utilizando a estrutura de repetição for, imprima a tabuada do número 5.

 

Dicas:

  • Não esqueça de utilizar a função PHP_EOL para quebrar linha.
  • O 5 pode ser um valor fixo, ou seja: echo "5 x $i=" . 5 * $i;

 

Arrays

Array

  • Um array é, na verdade, um mapa ordenado. Ou seja, é uma lista de valores que serão armazenados na memória.

 

  • O array é um tipo de dado, assim como integer, float, string ou boolean. Porém, ele pode armazenar mais de um valor, relacionando-os a suas chaves com a possibilidade de dentro dela possuir diversos valores.

 

  • O array é equivalente ao conceito de vetor.

 

  • Existem também arrays multidimensionais, que são arrays compostos por outros arrays.

Criando um Array

Uma forma de se criar um array é declarar uma variável e atribuir a ela um par de chaves[ ].

 

Dentro dessas chaves, você armazena os valores que quiser, separados por vírgula.

<?php
$frutas=['banana', 'abacaxi', 'laranja'];
var_dump($frutas);

Outra forma de se criar um array é através da função array(), onde são colocados os valores dentro dos parenteses, separados por vírgula.

 

Veja o mesmo exemplo anterior só que com essa sintaxe:

<?php
$frutas=array('banana', 'abacaxi', 'laranja');
var_dump($frutas);

Criando um Array

Utilizando as chaves do Array

Os valores do array são armazenados dentro de chaves e podem receber os seguintes tipos:

  • Strings
  • Floats
  • Booleanos
  • Null

 

OBS: Arrays e objetos não podem ser usados como chaves. Fazer isso resultará em um aviso: `Illegal offset type`.

Chaves personalizadas

Podemos criar chaves personalizadas para nosso array utilizando “=>“, onde a esquerda teremos o nome da chave e a direita o valor da chave.

<?php
$pessoa = [
    'nome' => 'Joana',
    'sobrenome' => 'Silva', 
    'idade' => '23'
];        
var_dump($pessoa);

Para exibir os dados de uma maneira mais legível podemos acrescentar o código abaixo:

echo "Nome: " . $pessoa["nome"] . "\n";
echo "Sobrenome: " . $pessoa["sobrenome"] . "\n";
echo "Idade: " . $pessoa["idade"] . "\n";

Chaves personalizadas

Veja o código completo

<?php
$pessoa = [
    'nome' => 'Joana',
    'sobrenome' => 'Silva', 
    'idade' => '23'
];        
var_dump($pessoa);

echo 'Nome: ' . $pessoa['nome'] . PHP_EOL;
echo 'Sobrenome: ' . $pessoa['sobrenome'] . PHP_EOL;
echo 'Idade: ' . $pessoa['idade'] . PHP_EOL;

Chaves personalizadas

Assim, terá na tela a seguinte impressão:

array(3) {
  ["nome"]=>
  string(5) "Joana"
  ["sobrenome"]=>
  string(5) "Silva"
  ["idade"]=>
  string(2) "23"
}
Nome: Joana
Sobrenome: Silva
Idade: 23

Chaves personalizadas

Se vários elementos na declaração do array utilizam a mesma chave, apenas o último será utilizado, enquanto todos os outros serão sobrescritos.

<?php
$array = [
    1    => 'a',
    '1'  => 'b',
    1.5  => 'c',
    true => 'd',
];
var_dump($array);

Chaves personalizadas

O exemplo anterior terá como saída:

array(1) {
  [1]=>
  string(1) "d"
}

Como todas as chaves do exemplo foram convertidas para 1, o valor será sobrescrito a cada novo elemento e o valor final atribuído "d", será o único que restará.

Chaves personalizadas

Misturando inteiro com string

As chaves dos arrays no PHP podem conter, ao mesmo tempo, inteiro e string, por que o PHP não faz distinção entre arrays indexados e associativos.

<?php
$array = [
    'carro' => 'Gol',
    'animal' => 'Gato',
    100   => -100,
    -100  => 100,
];
var_dump($array);

E terá a seguinte saída na tela:

array(4) {
  ['carro']=>
  string(3) 'Gol'
  ['animal']=>
  string(4) 'Gato'
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

Misturando inteiro com string

Arrays indexados sem chaves

E terá a seguinte saída na tela:

<?php
$array = ['banana', 'maçã', 'hello', 'world'];
var_dump($array);
array(4) {
  [0]=>
  string(6) "banana"
  [1]=>
  string(4) "maçã"
  [2]=>
  string(5) "hello"
  [3]=>
  string(5) "world"
}

Chaves em alguns elementos

É possível especificar a chave somente para alguns elementos e omití-las para outros:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}
$array = [
         'a',
         'b',
    6 => 'c',
         'd',
];
var_dump($array);

Saída na tela

O último valor "d" foi atribuído a chave 7. Isso acontece porque a chave com maior inteiro antes dela era 6

Acessando elementos

Elementos do array podem ser acessados utilizando a sintaxe array[chave]

<?php
$array = [
    'foo' => 'bar',
    42 => 24,
    'multi' => [
         'dimensional' => [
             'array' => 'foo'
         ]
    ]
];

var_dump($array['foo']);
var_dump($array[42]);
var_dump($array['multi']['dimensional']['array']);

Terá a seguinte saída na tela:

string(3) "bar"
int(24)
string(3) "foo"

Acessando elementos

Criando/modificando com a sintaxe de colchetes

Você pode modificar um array existente atribuindo valores a ele.

 

$arr[chave] = valor;
$arr[] = valor;
// chave pode ser tanto um integer quanto uma string
// valor pode ser qualquer valor de qualquer tipo

Se ainda $arr não existir, será criado, servindo como alternativa para criação de um array.

Para mudar um certo valor, apenas atribua um novo valor para um elemento especificado por sua chave. Se você quiser remover um par chave/valor, você precisa aplicar a função unset() nele.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56; // Isto é o mesmo que $arr[13] = 56;

$arr["x"] = 42; // Isto acrescenta um novo elemento
                // para o array com a chave "x"

unset($arr[5]); // Isto remove um elemento do array

unset($arr);    // E isto apaga todo o array

Criando/modificando com a sintaxe de colchetes

Percorrendo array

O construtor foreach fornece uma maneira fácil de iterar sobre arrays. O foreach funciona somente em arrays e objetos e possui duas sintaxes:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

A primeira forma, itera sobre o array trazendo somente o valor e a segunda tras a chave e o valor.

<?php
$arr = [1, 2, 3, 4];
foreach ($arr as $key => $value) {
    $arr[$key] = $value * 2;
}
var_dump($arr);
// $arr is now array(2, 4, 6, 8)

Para modificar diretamente elementos de um array dentro de um laço atribua um novo valor a cada iteração.

Percorrendo array

Exercício

Crie um código que preencha um array A de 10 elementos (índices de 0 a 9) com os números inteiros 10, 20, 30, 40, ... , 100.


Imprima o vetor A após o seu preenchimento.

 

Veja a representação abaixo

0 1 2 3 4 5 6 7 8 9
10 20 30 40 50 60 70 80 90 100

Escreva um algoritmo para preencher e imprimir dois arrays A e B, sendo:

 

  • A um vetor de números pares

 

 

 

 

  • B um vetor de números ímpares
0 1 2 3
2 4 6 8
0 1 2 3
1 3 5 7

Exercício

Funções para manipular arrays

 

O PHP oferece de forma nativa mais de 81 funções para manipular arrays. Essas funções permitem diversas operações. Vamos conhecer alguns exemplos.

 

count()

<?php
$frutas = ['banana','maçã', 'laranja'];

echo count($frutas);

 

Algumas vezes é necessário contar os elementos de um array, para isso podemos utilizar a função count(), ela retorna o número de posições do array.

 

array_push()

<?php
$frutas = ['banana','maçã', 'laranja'];
array_push($frutas, "limão", "uva");
print_r($frutas);

/* saída:
Array
(
    [0] => banana
    [1] => maçã
    [2] => laranja
    [3] => limão
    [4] => uva
)
*/

 

Com a função array_push() é possível adicionar um elemento no array. O novo elemento é adicionado na última posição do array.

 

array_unshift()

<?php
$cesta = ['laranja', 'banana'];
array_unshift($cesta, 'melancia', 'morango');
print_r($cesta);

/* saída
Array
(
    [0] => melancia
    [1] => morango
    [2] => laranja
    [3] => banana
) */

 

A função array_unshift() adiciona os elementos passados como argumentos no início de array.

 

array_shift()

<?php
$cesta = ["laranja", "banana", "melancia", "morango"];
$fruta = array_shift($cesta);
print_r($cesta);

/* saída
Array
(
    [0] => banana
    [1] => melancia
    [2] => morango
)*/

Retira o primeiro elemento de array. Todas as chaves numéricas são alteradas para começar a contar a de 0 (zero), enquanto chaves string permanecerão inalteradas.

array_pop()

<?php
$cesta = ["laranja", "banana", "melancia", "morango"];
$fruta = array_pop($cesta);
print_r($cesta);


/* saída
Array
(
    [0] => laranja
    [1] => banana
    [2] => melancia
) */

A função array_pop() extrai e retorna o último elemento de array, diminuindo array em um elemento.

Ordenação de arrays

Os elementos contidos em um array podem ser ordenados, em ordem alfabética ou numérica e de forma crescente, ou decrescente. Para isso, utilizamos as funções envolvendo sort.

sort()

<?php
$frutas = ['limão', 'laranja', 'banana', 'maçã'];
sort($frutas);
//imprimir o array 

foreach ($frutas as $chave => $valor) {
    echo "frutas[" . $chave . "] = " . $valor . PHP_EOL;
}

/* saída
frutas[0] = banana
frutas[1] = laranja
frutas[2] = limão
frutas[3] = maçã
*/

Podemos utilizar tanto para organizar de forma crescente alfabética, como numérica a função sort().

rsort()

<?php
$frutas = ['limão', 'laranja', 'banana', 'maçã'];
rsort($frutas);
//imprimir o array 

foreach ($frutas as $chave => $valor) {
    echo "frutas[" . $chave . "] = " . $valor . PHP_EOL;
}

/* saída
frutas[0] = maçã
frutas[1] = limão
frutas[2] = laranja
frutas[3] = banana
*/

Organiza o array em ordem decrescente.

asort()

<?php
$frutas = [
    'd' => 'limao', 
    'a' => 'laranja', 
    'b' => 'banana', 
    'c' => 'melancia'];
asort($frutas);

foreach( $frutas as $chave => $valor ){
    echo "$chave =  $valor" . PHP_EOL;
}

/* saída
b = banana
a = laranja
d = limao
c = melancia
*/

Coloca na ordem crescente, de acordo com o valor.

arsort()

<?php
$frutas = [
    'd' => 'limao', 
    'a' => 'laranja', 
    'b' => 'banana', 
    'c' => 'melancia'];
arsort($frutas);

foreach( $frutas as $chave => $valor ){
    echo "$chave =  $valor" . PHP_EOL;
}

/* saída
c =  melancia
d =  limao
a =  laranja
b =  banana
*/

Coloca na ordem decrescente, de acordo com o valor.

ksort()

<?php
$frutas = [
    'd' => 'limao', 
    'a' => 'laranja', 
    'b' => 'banana', 
    'c' => 'melancia'];
ksort($frutas);

foreach( $frutas as $chave => $valor ){
    echo "$chave =  $valor" . PHP_EOL;
}

/* saída
a =  laranja
b =  banana
c =  melancia
d =  limao
*/

Ordena um array pelas chaves.

in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux"); 
if (in_array("Irix", $os)) { 
    echo "Tem Irix";
}
if (in_array("mac", $os)) { 
    echo "Tem mac";
}
// saída: Tem Irix

Checa se um valor existe em um array.

A segunda condicional falha pois in_array() diferencia letras minúsculas e maiúsculas.

array_reverse()

<?php
$cesta = ["laranja", "banana", "melancia", "morango"];
$inverso = array_reverse($cesta);
print_r($inverso);
?>
```
/*
Array
(
    [0] => morango
    [1] => melancia
    [2] => banana
    [3] => laranja
)
*/

Retorna um array com os elementos na ordem inversa.

 

array_sum()

<?php
$a = [1,2,3,4,5,6,7,8,9];
$soma = array_sum($a);
echo $soma;

//saída: 45 

Retorna o somatório dos elementos do array.

 

Exercícios

1. Crie um programa em PHP que receba 5 nomes, os coloque em um vetor e exiba a lista desses nomes na tela.

Após exibir essa lista, o programa deve mostrar também os nomes na ordem inversa, um por linha.

0 1 2 3 4
Maria João Paula Luiza José

2. Agora verifique se existe um nome especifíco no array da questão anterior. Pesquise "Maria" e depois pesquise "Ana".

Exercícios

3. Crie um programa em PHP que some os elementos de um array. Veja o exemplo:

 
 

 

0 1 2 3 4
65 41 8 12 33

4. Crie um programa em PHP que utilize uma função para ordenar os elementos do vetor da questão anterior em ordem crescente. Mostre o vetor ordenado.

Resolução de Exercícios

Para fixar nosso aprendizado, vamos resolver exercícios na aula de hoje.

 

Primeiramente, vamos recapitular o que aprendemos:

 

- Tipos de dados e operadores

- Manipulação de strings

- Estruturas if / else / elseif / switch

- Estruturas for / while

- Manipulação de arrays

- Funções de manipulação de array

Exercícios

  1. Crie um programa em PHP que receba um valor, calcule e mostre para o usuário 5% e 50% deste valor.
     

  2. Crie um programa em PHP que receba uma temperatura em graus Farenheit e converta para graus Celsius.
    Considere a temperatura de 86º F.

    Fórmula: ((F – 32) * 5) / 9

Exercícios

3. Crie um programa em PHP que receba nome e sobrenome de uma pessoa. Em seguida, imprima-os concatenados.

Veja o exemplo:

Nome: PHPWomen
Sobrenome: BR
 

4. Verifique quantos caracteres o nome inteiro da questão anterior possui. Imprima-o todo em letras maiúsculas.

Exercícios

5. Crie um programa em PHP que receba duas notas, calcule a média e mostre para o usuário.

Se a média for maior ou igual a 6, imprima "Aluno aprovado".
Se a média for menor que 6, exiba "Prova final".

 

6. Crie um programa em PHP que receba a idade de uma pessoa e informe se é maior ou menor de idade.

Exercícios

7. Crie um programa em PHP com uma lista de estados (ex.: RJ, SP, MG). Se este estado for SP, escreva Paulista, se RJ, escreva Carioca, se MG, escreva Mineiro. Caso seja outro estado, escreva Outro Estado.

Dica: Utilize o comando switch.

 

8. Crie um programa em PHP que o usuário escolha uma operação (soma, subtração, multiplicação ou divisão) e receba 2 números. Realize a operação escolhida e mostre o resultado, como em uma calculadora.

Dica: Utilize o comando switch.

Exercícios

9. Crie um programa em PHP que mostre os números de 0 a 20, de 2 em 2.

 

10. Crie um programa em PHP que receba dois números inteiros e imprima os números inteiros que estão no intervalo entre eles.
 

11. Crie um programa em PHP que contenha um array com 10 elementos inteiros.
Depois, troque todos os valores negativos do array por 0.
Após as trocas, imprima o array.

Exercícios

12. Crie um programa em PHP que mostre um array com três estados e suas capitais.

Veja o exemplo: "SP" => "São Paulo".

Vamos imprimir o seguinte resultado:

A capital de SP é São Paulo
A capital de RJ é Rio de Janeiro
A capital de MG é Belo Horizonte.

         

Exercícios

13. Crie um programa em PHP ordene um array em ordem decrescente. Veja o exemplo:


 

         

 

14. Utilize uma função em PHP para contar quantos valores possui o array da questão anterior.

0 1 2 3 4
2 4 1 5 3

Functions

Uma função é um bloco de código identificado por um nome, que executa uma tarefa específica (assim como usamos função na matemática) e que pode ser referenciada a partir de várias partes do código.

Veja um exemplo simples de função matemática:

f(x) = x * 2

f(3) = 3 * 2 = 6

Functions - Definição

Functions são trechos de código que podem executar qualquer tipo de tarefa como por exemplo:


- Somar dois números,

- Verificar se é um CPF está correto

- Verificar se um valor de uma variável é válido

- Transformar letras maiúsculas em minúsculas...


Functions - Declaração

A declaração de funções no PHP é feita a partir da palavra reservada function, seguida do nome da função e de sua lista de argumentos, enquanto o corpo da função é delimitado por chaves { }, entre as quais ficarão as instruções a serem executadas quando a função for invocada.

function nomeFuncao($par1, $par2, $par3...$parN) {
     //instruções 
} 

Functions

  • A palavra reservada function define o bloco de código como uma função.
     
  • O nomeFuncao deve ser um nome de fácil entendimento para identificação da função.
     
  • Assim como as variáveis, as funções não podem ser iniciadas com números ou caracteres especiais, exceto o underline (_).
     
  • Trabalhando em paradigma de orientação a objetos, inicia-se o nome da função com letra minúscula.

Functions

  • Os valores entre parênteses são chamados de parâmetros ou argumentos e são valores dos quais a função depende para ser executada corretamente.

 

  • As funções podem ser classificadas quanto ao seu retorno como vazias (void) ou com retorno. Veremos mais detalhadamente abaixo.

 

> Nem sempre os parâmetros são necessários, então pode-se omiti-los na definição da função, mantendo apenas os parênteses.

Functions

As funções void ou sem retorno apenas executam uma série de comandos sem a obrigação de devolver um valor específico como resultado.

 

Já as funções com retorno, ao serem executadas, resultam diretamente em um dado valor que, no PHP, não tem tipo de dado definido.

Função sem parâmetro e sem retorno

Função com parâmetro e sem retorno:

Chamando uma função sem retorno:

Função sem parâmetro e com retorno:

Função com parâmetro e com retorno

Funções recursivas

Recursividade

 

Este nome é dado quando ocorre uma chamada de determinada função a ela mesma.

 

Um exemplo bastante conhecido é a função de cálculo do fatorial de um número.

Funções recursivas

Text

Exercícios

  1. Crie um programa em PHP que contenha uma função que recebe como parâmetro um número inteiro e devolve o seu dobro.
     

  2. Crie uma função que receba dois parâmetros e simule uma calculadora. O usuário deve informar qual operação deseja fazer(soma, subtração, multiplicação ou adição).

Exercícios

3. Crie um programa em PHP que contenha uma função que receba três notas de um aluno como parâmetros e uma letra. Se a letra for A, a função deverá calcular a média aritmética das notas do aluno; se for P, deverá calcular a média ponderada, com pesos 5, 3 e 2.

 

4. Crie um programa em PHP que contenha uma função para verificar se um número é positivo ou negativo. O valor de retorno será 1 se o número for positivo, -1 se for negativo e 0 se for igual a 0.

Funções variáveis

O PHP suporta funções variáveis. Isto significa que se um nome de variável tem parênteses no final, o PHP procurará uma função que tenha o mesmo nome e tentará executá-la, por exemplo, $variavel().

<?php
function olaMundo() {
    echo 'Olá, mundo!'. PHP_EOL;
}

$func = 'olaMundo'; 
// a variável $func está rececendo a function olaMundo
$func(); 
// aqui estamos chamando a função variável que retorna Olá, mundo!

Funções variáveis

Exemplo 2

function olaVida($arg = ' ') 
/* aqui a variável $arg está recedendo uma 
string vazia como valor padrão. */
{
    echo "Na função olaVida o argumento foi $arg" . PHP_EOL;
}

$func = 'olaVida'; 
// a variável $func está rececendo 'olaVida' como string

$func('meu argumento');  
/* aqui estamos chamando a função variavel 
e passando uma string como argumento.*/

Funções variáveis

Exemplo 3

function exibe($string)
{
    echo $string . PHP_EOL;
}

$func = 'exibe'; 
// a função variável $func está rececendo a function exibe.

$func('alguma coisa');  
// retorna alguma coisa

Funções variáveis

Vamos praticar?

<?php
function soma($a, $b)
{
    return $a + $b;
}

function subtrai($a, $b)
{
    return $a - $b;
}
$operacao = readline('Informe a operação: ');
//nome da função: soma

$valor1 = readline('Informe um valor: ');
$valor2 = readline('Informe um valor: ');

echo $operacao($valor1, $valor2) . PHP_EOL;

Funções internas - (built-in)

  • +1000
  • O número de funções internas depende de quais extensões estão instaladas.
  • Para saber quais extensões estão carregadas no PHP, pode ser usadas as funções: `phpinfo()` ou `get_loaded_extensions()` ou executar o comando `php -m`.

 

Funções anônimas

Funções anônimas, também conhecidas como closures, permitem a criação de funções que não tem o nome especificado.

 

Para atribuirmos uma função anônima a uma variável, basta declararmos um bloco e atribuirmos este, diretamente, a uma determinada variável.

Funções anônimas

<?php
$func = function($nome)
{
    echo('Olá, ' . $nome . PHP_EOL);
};
$func('mundo!'); // saída Olá, mundo!
$func('PHP!'); // Olá, mundo!

Variáveis externas a função

Todas as funções que criamos não tem acesso ao escopo externo, logo, qualquer variável fora da função não é acessível dentro da função a não ser que passemos por argumento mas é possível também utilizar a instrução `use`. Veja o exemplo:

<?php
$mensagem = 'Olá, mundo! ';

$exemplo = function () use ($mensagem) 
{
    echo 'A mensagem é: '. $mensagem . PHP_EOL;
};
$exemplo();

Arrow functions

Arrow functions foram introduzidos a partir do PHP 7.4 e são uma maneira de escrever funções mais curtas em PHP. Essa notação é útil ao passar fechamentos para funções como `array_map` ou `array_filter`.

 

A sintaxe da `arrow functions`é:

 

fn (argument_list) => expr.

Arrow functions

Antes da arrow functions as funções eram escritas assim:

<?php

function cubo($item) {
    return $item ** 3;
}

$lista = [1, 2, 3];

$resultado = array_map('cubo', $lista);

print_r($resultado);

Arrow functions

Agora podem ser escritos assim:

<?php
$lista = [1, 2, 3];
$resultado = array_map(fn ($item) => $item ** 3, $lista);
print_r($resultado);

Exercícios

1. Crie uma função variável que receba uma frase e a retorne em maíusculo.

 

2. Crie uma função variável para calcular 10% de desconto em um determinado produto. Esta função deve retornar o valor - desconto.

Exercícios

3. Crie um programa em PHP que contenha uma função que receba três notas de um aluno como parâmetros e uma letra. Se a letra for A, a função deverá calcular a média aritmética das notas do aluno; se for P, deverá calcular a média ponderada, com pesos 5, 3 e 2.

 

4. Crie um programa em PHP que contenha uma função para verificar se um número é positivo ou negativo. O valor de retorno será 1 se o número for positivo, -1 se for negativo e 0 se for igual a 0.

Manipulação de arquivos

O PHP é uma linguagem de programação muito rica de recursos, que ajudam muito no desenvolvimento de nossas aplicações.

 

Nesta aula vamos aprender sobre como utilizar funções para armazenar arquivos.

file_exist( )

Esta função permite verificar a existência de um arquivo.

<?php
if(file_exists($nome_do_Arquivo)) {
    echo "Existe" . PHP_EOL;
} else {
    echo 'Arquivo não encontrado' . PHP_EOL;
}

Se o arquivo estiver em um diretório, precisa especificar o caminho: file_exists('path/filename.txt')

rename( )

Esta função permite renomear um arquivo.

<?php
rename('teste.txt', 'teste.pdf'); 
// Arquivo teste.txt => teste.pdf

copy( )

Esta função permite fazer cópia de um arquivo.

<?php
copy('teste.pdf', 'copia_de_teste.pdf');

unlink( )

Esta  função apaga arquivos. Esta função exclui o arquivo sem sem pedir confirmaćão, por isso, use-a com bastante cuidado.

<?php
if(unlink($arquivo) == true) { 
    echo "Arquivo excluído";
}

Lendo arquivos

Função Descrição
file_get_contents( ) Armazena todo valor de um arquivo de texto em uma variável
fopen( ) Abre um arquivo ou url. Recebe como parâmetro o nome do arquivo e o tipo de acesso.
readfile() Ela lê e exibe todo o conteúdo de um arquivo

Lendo arquivos

Dica: se você precisa trabalhar com os conteúdo do arquivo diretamente recomendável utilizar a função file_get_contents( ).

Se for o caso de apenas de exibir o conteúdo do arquivo, utilize readfile( ).

Escrevendo em arquivos

r Abre somente para leitura
w Abre somente para escrita
w+ Abre para leitura e escrita
a Abre somente para escrita; coloca o ponteiro do arquivo no final do arquivo.
a+ Abre para leitura e escrita; coloca o ponteiro do arquivo no final do arquivo.
x Cria e abre o arquivo somente para escrita; coloca o ponteiro no começo do arquivo.
x+ Cria e abre o arquivo para leitura e escrita; coloca o ponteiro no começo do arquivo.

unlink( )

Esta  função apaga arquivos. Esta função exclui o arquivo sem pedir confirmação, por isso, use-a com bastante cuidado.

<?php
if(unlink($arquivo) == true) { 
    echo "Arquivo excluído";
}

Exercícios

1. Escreva um programa em PHP que:
- Crie e abra um arquivo texto de nome 'arquivo.txt';
- Permita que o usuário grave um parágrafo de texto;
- Feche o arquivo.

 

Agora abra e leia o arquivo. Escreva na tela o texto armazenado.

 

2. Semelhante ao programa anterior, receba do usuário primeiramente o nome do arquivo que deseja trabalhar. Depois, receba um parágrafo que deve ser escrito nele. Ao final, mostre o resultado.

 

Exercícios

3. Faça um programa em PHP que receba do usuário um arquivo texto e mostre na tela quantas letras e quantas palavras ele têm.

> Dica: Utilize as funções de manipulação de strings.

 

4. Faça um programa em PHP que permita que o usuário entre com diversos nomes e telefones para cadastro. Crie um arquivo com essas informações, uma por linha. O usuário finaliza a entrada dos dados com '0'

Manipulação de CSV no PHP

csv é um tipo de arquivo de texto bastante utilizado para transferência de informações entre diferentes aplicações e também para geração de relatório.

 

E nesta aula vamos aprender a criar e manipular estes arquivos.

O que é csv?

Por definição, csv é um formato de arquivo que significa “comma-separated-values” (valores separados por vírgulas), ou seja, os campos de dados indicados neste formato normalmente são separados ou delimitados por uma vírgula.

Vamos supor que você tenha uma planilha que contenha os dados a seguir:

Daiane daiane@teste.com 912345678
Adriele drica@teste.com 987654321
Livia livia@teste.com 876543456
Bruna bruna@teste.com 998765678

O que é csv?

Esses dados poderiam ser lidos em um arquivo csv separados por vírgulas e por um espaçamento de linha, como no exemplo a seguir:

Daiane,daiane@teste.com,912345678
Adriele,drica@teste.com,987654321
Livia,livia@teste.com,876543456
Bruna,bruna@teste.com,998765678

O que é csv?

Agora que você já entendeu o conceito básico sobre csv, vamos aprender como podemos utilizar o PHP para fazer a manipulação desses arquivos.

 

Abrindo um arquivo csv existente

<?php
$arquivo = fopen('nomeArquivo.csv', 'w');

Inserir dados em um arquivo csv

<?php
fputcsv($handle, $length, $separator, $enclosure);

A função fputcsv() formata uma linha como csv e a escreve no manipulador de arquivo especificado por handle.

 

Inserir dados em um arquivo csv

<?php
fputcsv($handle, $length, $separator, $enclosure);

A função fputcsv() formata uma linha como csv e a escreve no manipulador de arquivo especificado por handle. Veja a sintaxe:

Para conhecer todos os argumentos, consulte o manual do PHP

 

Exemplo

<?php
$dados = [
    [
        'produto' => 'Notebook', 'preco' => 3587,
    ],
    [
        'produto' => 'Celular', 'preco' => 2643,
    ],
    [
        'produto' => 'TV', 'preco' => 5876,
    ],
    [
        'produto' => 'Fone', 'preco' => 432,
    ],
];

// Abrir/criar arquivo
$arquivo = fopen('file.csv', 'w');

// Popular os dados
foreach ($dados as $linha) {
    fputcsv($arquivo, $linha);
}

// Fechar o arquivo
fclose($arquivo);

Exemplo - Saída

Notebook,3587
Celular,2643
TV,5876
Fone,432

Cabeçalho

// Cabeçalho do csv
$headers = ['Produto', 'Preço'];

$dados = [
    [
        'produto' => 'Notebook', 'preco' => 3587,
    ],
    [
        'produto' => 'Celular', 'preco' => 2643,
    ],
    [
        'produto' => 'TV', 'preco' => 5876,
    ],
    [
        'produto' => 'Fone', 'preco' => 432,
    ],
];

$arquivo = fopen('file.csv', 'w');

// Criar o cabeçalho
fputcsv($arquivo , $headers);

foreach ($dados as $linha ) {
    fputcsv($arquivo, $linha);
}

fclose($arquivo);

Manipulando os dados

$headers = ['Produto', 'Preço'];
$dados[];
$arquivo = fopen('file.csv', 'w');

fputcsv($arquivo , $headers);

foreach ($dados as $chave => $valor) {
    $produto[$chave]  = $valor['produto'];
    $preco[$chave] = $valor['preco'];
}

// Ordenar array dados na coluna produto em ordem crescente.
// Pode usar SORT_DESC para ordem decrescente.
array_multisort($produto, SORT_ASC, $dados);

foreach ($dados as $linha ){
    fputcsv($arquivo, $linha);
}

fclose($arquivo);

Imagine que você necessite colocar os produtos em ordem alfabética. Podemos utilizar a função array_multisort().

Manipulando os dados

$headers = ['Produto', 'Preço'];

$dados[];

$arquivo = fopen('file.csv', 'w');

fputcsv($arquivo , $headers);

foreach ($dados as $chave => $valor) {
    $produto[$chave]  = $valor['produto'];
    $preco[$chave] = $valor['preco'];
}
// SORT_ASC para ordem crescente
array_multisort($preco, SORT_ASC, $dados);

foreach ($dados as $linha) {
    fputcsv($arquivo, $linha);
}
fclose($arquivo);

Agora vamos ver como ordenar os  os preços em ordem crescente. Podemos utilizar a função array_multisort().

Lendo um arquivo csv existente

$handle = fopen("nota.csv", "r");

$header = fgetcsv($handle, 1000, ",");

while ($row = fgetcsv($handle, 1000, ",")) {
    $nota[] = array_combine($header, $row);
}
print_r($nota);

fclose($handle);

A função fgetcsv() interpreta a linha em busca de campos no formato csv e retorna um array contendo os campos lidos. Veja o exemplo:

Importando arquivos

Conforme vamos avançando no desenvolvimento da nossa aplicação é possível que ela fique um tanto confusa com declarações de variáveis e functions em um único arquivo.

 

No PHP você pode criar um arquivo separado contendo todas as variáveis, por exemplo, e depois incluí-lo no arquivo principal. Para isso, podemos utilizar a declaração include que inclui e avalia o arquivo informado.

include

<?php

vars.php // arquivo de variáveis

$fruta = 'maçã';
$cor = 'verde';


teste.php // arquivo de exemplo

include 'vars.php'; // pode usar também: include('vars.php');

echo "A $fruta é $cor "; // A maçã é verde

include_once

A declaração include_once inclui e avalia o arquivo informado durante a execução do script. Este é um comportamento similar a declaração include, com a única diferença que, como o nome sugere, o arquivo será incluído somente uma vez.

require

require é idêntico ao include exceto que em caso de falha produzirá um erro fatal, E_COMPILE_ERROR, ou seja, não compila. Enquanto que o include apenas emitirá um alerta E_WARNING permitindo que o script continue.

require_once

A declaração require_once é idêntica a require exceto que o PHP verificará se o arquivo já foi incluído, e em caso afirmativo, não o incluirá (exigirá) novamente.

include x require

A única diferença é que include gera apenas um aviso do PHP, mas permite que a execução do script continue se o arquivo a ser incluído não puder ser encontrado. Enquanto a require gerará um erro fatal e interromperá a execução do script.

function_exists

A function_exists - retorna TRUE se a função dada está definida, do contrário, FALSE.

 

 

Sintaxe:

function_exists( string $function_name ) : bool

function_exists

// declaração da function mensagem 
function mensagem() 
{ 
    echo "Olá, mundo!"; 
} 
// verificando se a function mensagem existe 
if (function_exists('mensagem')) {
    echo "mensagem() function está disponível" . PHP_EOL; 
} else {
    echo "mensagem() function não está disponível" . PHP_EOL; 
}

Exercícios

1. Sabendo-se que 1 quilowatt de energia custa R$0,68 desenvolva uma função que receba a quantidade de quilowatts gasta por uma residência calcule e imprima:

a)Valor em reais a ser pago

b) O novo valor a ser pago por essa residência com um desconto de 10%.

Sua função deverá estar num arquivo separado.

 

2. Criar um programa que efetue o cálculo do valor a receber de um professor. Os dados fornecidos pelo usuário serão: valor da hora aula, total de horas no mês.

Sua função deverá estar num arquivo separado.

Exercícios

3. Você precisa desenvolver uma aplicação em PHP para avaliar se a senha definida pelo cliente segue a política de segurança de um banco. A verificação se uma senha é forte pode ser feita em duas etapas desenvolvidas separadamente:
   
a) Uma função que verifique se a quantidade de caracteres da senha é igual ou superior a 6 caracteres.


b) Uma função que verifique se há pelo menos um caractere em letra maiúscula.

A cada etapa de verificação de senha, a respectiva função deverá retornar um booleano: True se o critério for verificado, False caso contrário.

Funções deverão estar em um arquivo separado.
Fonte: AD1 – 2o Semestre de 2019 - Tecnologia em Sistemas de Computação - UFF (Adaptada)

Workshop de PHP

@PHPWomenBR

t.me/PHPWomenBR
t.me/PHPWomenRJ

 

Orientação a objetos

Para muitos orientação a objetos é um conceito apavorante e com sintaxes complicadas. Nesta aula você aprenderá os conceitos que envolvem a programação orientada a objetos (POO) e conhecerá um mundo de possibilidades que a envolve.

A finalidade da POO é aproximar o mundo digital do mundo real e ela tráz inúmeras vantagens.

Orientação a objetos

Imaginem uma casa...

Orientação a objetos

Certamente quem a construiu antes de começar fez um projeto de como seria esta casa, damos este nome de projeto de planta.

 

A partir de uma planta pode ser construída inúmeras casas, todas elas com o mesmo molde. Porém, cada casa pode ter uma cor diferente, uma porta diferente...

 

Em POO chamamos a planta da casa de Classe (modelo) e as casas geradas a partir deste modelo de Objeto. Um novo objeto criado pode ser chamado de instância.

Orientação a objetos

Veja o exemplo:

Classes

Uma classe é uma forma de definir um tipo de dado em uma linguagem orientada a objetos. Ela é formada por dados e comportamentos. Com a classe definida, podem ser criados diversos objetos do tipo da classe criada. Ela funciona, então, como um modelo para a criação dos seus objetos.

Objetos

Objetos são instâncias de classes, que determinam qual informação um objeto contém.

 

Ou seja, é uma entidade capaz de reter um estado (informação) e que oferece uma série de informações (comportamento) para examinar ou para afetar este estado.

 

É através deles que praticamente todo o processamento ocorre em sistemas implementados com linguagens de programação orientadas a objetos.

Atributos

Atributos de uma classe também são conhecidos como propriedades e descrevem um intervalo de valores que as instâncias da classe podem apresentar.

 

Um atributo é uma variável que pertence a um objeto. Os dados de um objeto são armazenados nos seus atributos.

Métodos

Os métodos são procedimentos ou funções que realizam as ações próprias do objeto.

 

Tudo o que o objeto faz é através de seus métodos, pois é através deles que o objeto interage com os outros objetos. Sendo mais conhecidos como:

 

- Método Construtor

- Métodos Get e Set, etc.

Vamos a prática?

Visibilidade

  • Privado: uma função local e um único bloco de código.
  • Público: visível para tudo uma função a ser chamada a qualquer momento.
  • Protegido: esse caso restringe o parâmetro fora da classe, mas ainda acessível às suas subclasses (herança).

Vamos praticar?

Encapsulamento

Encapsulamento vem de encapsular, que em programação orientada a objetos significa separar o programa em partes, o mais isolado possível.

 

Vantagens:

- Tornar o software mais flexível.

- Fácil de modificar e de criar novas implementações.

Hora de praticar!

Associação de Classes

Uma associação define um relacionamento entre duas classes que permite que um objeto faça com que outro objeto realize uma ação em seu lugar.

 

Em termos gerais, a casualidade da ação é feita ao enviar uma mensagem ou invocar um método do objeto controlado.

Mão na massa!

Exercícios

  1. Escreva um programa em PHP que crie uma classe Empresa.

  2. Escreva um programa em PHP que crie uma classe Funcionário.

Vamos ao Sorteio!!!

Licença JetBrains

Material disponível

phpwomenbr/workshop-php

t.me/PHPWomenBR
t.me/PHPWomenRJ

 

Workshop-php

By Daiane Alves