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:
- Se a é maior que c
- Se b é menor que c
- Se a é igual a c
- Se a é igual a d
- Se a é idêntico a d
- 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
- Abra o terminal de comando.
- Abra o modo interativo do php usando (php -a).
- 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
- Calcule a subtração destas variáveis.
- Calcule a multiplicação destas variáveis.
- Calcule a divisão destas variáveis.
- Calcule o resto da divisão 15 por 3.
- 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
-
Crie um programa em PHP que receba um valor, calcule e mostre para o usuário 5% e 50% deste valor.
-
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
-
Crie um programa em PHP que contenha uma função que recebe como parâmetro um número inteiro e devolve o seu dobro.
-
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
-
Escreva um programa em PHP que crie uma classe Empresa.
-
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
Workshop-php
- 704