Na aula anterior demos os primeiros passos em PHP. Aprendemos a criar um ficheiro .php, a delimitar código PHP e a utilizar a instrução echo para apresentar informação numa página.
Mas os programas tornam-se realmente interessantes quando conseguem guardar e trabalhar com informação.
Imagine uma loja online. O nome de um produto, o preço, a quantidade disponível ou a indicação de que está ou não em promoção são informações que podem mudar. Não faria sentido escrever esses valores diretamente em todas as instruções do programa.
É aqui que entram as variáveis.
Nesta aula vamos aprender a criar variáveis, guardar diferentes tipos de dados e utilizar esses valores para produzir conteúdo dinâmico.
1. O que é uma variável?
Podemos imaginar uma variável como um pequeno espaço na memória do computador onde guardamos um valor.
Esse espaço recebe um nome, para podermos utilizar posteriormente a informação que lá guardámos.
Por exemplo, queremos guardar o nome de um aluno:
$nome = "João";
Podemos visualizar esta instrução desta forma:
A variável chama-se:
$nome
e neste momento contém:
João
Em PHP, as variáveis começam sempre pelo símbolo:
$
2. Criar uma variável
A criação de uma variável é bastante simples.
$nome = "João";
Temos três elementos importantes:
O operador = permite atribuir um valor a uma variável.
Podemos criar várias variáveis:
$nome = "João";$idade = 16;$turma = "111C";
Agora o programa tem três informações guardadas em memória.
3. Apresentar o valor de uma variável
Depois de guardar informação numa variável, podemos utilizá-la.
Resultado:
João
Também podemos utilizar a variável juntamente com outro texto:
Resultado:
Olá João
Se alterarmos:
não precisamos de alterar o echo.
O resultado passa automaticamente a ser:
Olá Maria
É precisamente esta capacidade de trabalhar com valores que podem mudar que torna as variáveis tão importantes.
4. Regras para os nomes das variáveis
Os nomes das variáveis em PHP devem respeitar algumas regras.
Uma variável começa sempre por:
$
seguido de uma letra ou _.
São válidos:
Não são válidos:
Também devemos escolher nomes que permitam perceber o que a variável representa.
Em vez de:
$x = 799.90;
é preferível:
$precoComputador = 799.90;
Quando voltarmos ao código alguns dias depois, será muito mais fácil perceber o seu significado.
5. PHP distingue maiúsculas de minúsculas
Os nomes das variáveis são case-sensitive.
Isto significa que:
são três variáveis diferentes.
Por exemplo:
irá utilizar dois valores diferentes.
Para evitar confusão, devemos manter uma forma consistente de escrever os nomes das variáveis.
Ao longo das aulas utilizaremos normalmente camelCase:
6. Tipos de dados
Nem toda a informação que guardamos é do mesmo tipo.
Compare:
Temos um texto, um número inteiro, um número decimal e um valor lógico.
PHP possui vários tipos de dados. Nesta fase vamos concentrar-nos nos quatro mais importantes:
| Tipo | Utilização | Exemplo |
|---|---|---|
string | Texto | "João" |
int | Números inteiros | 17 |
float | Números decimais | 19.95 |
bool | Verdadeiro/Falso | true |
7. String
Uma string representa texto.
Os valores são delimitados por aspas.
Podemos utilizar:
$nome = "João";
ou:
$nome = 'João';
Ambos representam uma string.
8. Integer
Um int ou integer representa um número inteiro.
Não colocamos o número entre aspas.
$idade = 17;
é diferente de:
$idade = "17";
No primeiro caso temos um número inteiro.
No segundo temos uma string que contém os caracteres 1 e 7.
Visualmente podem parecer iguais, mas para o PHP são tipos de dados diferentes.
9. Float
Um float permite guardar números com casas decimais.
Em PHP, utilizamos o ponto como separador decimal:
$preco = 19.95;
e não:
$preco = 19,95;
Esta diferença é importante, porque em Portugal estamos habituados a utilizar a vírgula nos números decimais.
10. Boolean
Um bool ou boolean apenas pode ter dois valores:
true
ou:
false
Por exemplo:
Este tipo de dados será especialmente importante quando começarmos a trabalhar com condições.
Podemos ter, por exemplo:
$utilizadorAutenticado = true;
Mais tarde poderemos perguntar ao programa:
O utilizador está autenticado?
Se o valor for true, apresentamos uma determinada página.
Se for false, podemos enviá-lo para a página de login.
11. Um exemplo mais realista
Imagine que queremos representar um produto de uma loja.
Podemos criar:
Temos quatro informações diferentes:
É um bom exemplo de como diferentes tipos de dados podem coexistir no mesmo programa.
12. Alterar o valor de uma variável
Uma variável chama-se precisamente variável porque o seu valor pode mudar.
Inicialmente:
$stock → 10
Depois:
$stock → 5
O valor anterior foi substituído.
A variável continua a chamar-se $stock, mas agora contém outro valor.
13. Concatenar texto e variáveis
Muitas vezes precisamos de juntar vários textos e valores.
Em PHP podemos utilizar o operador:
.
Este operador chama-se operador de concatenação.
Exemplo:
Resultado:
Olá João
Podemos juntar vários elementos:
Resultado:
O aluno João tem 17 anos.
Repare nos espaços existentes dentro das strings:
"O aluno "
e:
" tem "
Sem esses espaços obteríamos:
O alunoJoãotem17anos.
14. Interpolação de variáveis
Quando utilizamos aspas duplas, PHP consegue reconhecer variáveis existentes dentro da string.
Assim:
produz:
O aluno João tem 17 anos.
Esta técnica é chamada interpolação de variáveis.
Compare:
echo "Olá $nome";
com:
echo 'Olá $nome';
Com aspas duplas, o PHP interpreta $nome.
Com aspas simples, o conteúdo é tratado literalmente e será apresentado:
Olá $nome
Esta é uma diferença importante entre aspas simples e duplas em PHP.
15. Descobrir o tipo de uma variável
Durante o desenvolvimento pode ser útil saber exatamente o tipo e o valor armazenados numa variável.
PHP disponibiliza a função:
var_dump()
Exemplo:
Poderemos obter resultados semelhantes a:
var_dump() é especialmente útil durante o desenvolvimento para perceber o que realmente existe dentro de uma variável.
Não é normalmente informação que queremos apresentar ao utilizador final.
16. PHP determina automaticamente o tipo
Em PHP não precisamos, nestes exemplos básicos, de indicar previamente o tipo da variável.
Podemos simplesmente escrever:
PHP determina o tipo a partir do valor atribuído.
Por isso:
$valor = 20;
faz com que $valor seja um int.
Mas se posteriormente fizermos:
$valor = "vinte";
a variável passa a conter uma string.
Esta flexibilidade facilita a programação, mas também significa que devemos ter atenção aos tipos de dados com que estamos a trabalhar.
17. PHP e HTML com variáveis
Vamos agora utilizar aquilo que aprendemos numa pequena página.
Agora já conseguimos perceber melhor o conceito de uma página dinâmica.
O HTML que estrutura a página é o mesmo, mas os dados apresentados podem ser alterados através das variáveis.
Se mudarmos apenas:
a página passa a apresentar outro produto sem termos de alterar a estrutura HTML.
Esta ideia será extremamente importante quando chegarmos às bases de dados: em vez de escrevermos manualmente estes valores, serão os dados existentes no MySQL a preencher a página.
18. Pequeno desafio durante a aula
Cria as seguintes variáveis:
Atribui valores adequados a cada uma.
Depois apresenta:
Experimenta var_dump() em cada variável e identifica o respetivo tipo de dados.
No final, altera os valores das variáveis e confirma que a página apresenta automaticamente a nova informação.