Variáveis e Constantes no PHP

Continuando nossas aulas do curso de PHP, vamos falar agora sobre as Variáveis e Constantes.

Variáveis

As variáveis podem conter qualquer tipo de dados, seja ele uma string, números inteiros, números decimais, objetos e arrays. A tipagem no PHP não é necessária, já que ao definir o valor de uma variável, o próprio PHP já sabe implicitamente qual tipo de dado ele está armazenando na variável.

As variáveis são identificadas pelo símbolo do sifrão “$“, seguidos de um nome identificador da variável. Os nomes das variáveis devem seguir essas regras:

  • Devem conter letras (a-z, A-Z);
  • Podem ter números;
  • E o carecter do underscore “_“;
  • Devem iniciar com uma letra ou um underscore;
  • São Case-Sensitive;

Veja abaixo alguns exemplos de variáveis:

<?php
$nome = "Diego"; // Correto! É uma string, por estar dentro de aspas.
$_nome = "Diego"; // Correto! Outra string do mesmo tipo, só que começando com um underscore.
$1nome = "Diego"; // Errado! - Está começando com um número o nome da variável.
$dia = 13; // Correto! O uso de aspas é necessário quando você quer que o valor do seu dado seja uma string, mas como se trata de um 'dia' eu estou armazenando como um valor numérico, por isso não está entre aspas.
$mes = "06"; // Correto! O número é reconhecido como uma string, mas ainda sim é possível fazer algumas operações matemáticas com ela.
$ano = "de 2010"; // Correto! Identificado como uma string, por conter letras, não sendo mais possível realizar operações matemáticas com esta variável.
?>

Agora que você aprendeu a definir um valor a uma variável, você pode simplesmente utilizar o echo que você aprendeu para exibir o seu valor, como mostra o exemplo abaixo:

<?php
$nome = "Diego Macêdo";
$dia  = 13;
$mes  = 06;
$ano  = 2010;

echo "Olá, meu nome é ".$nome." e esta aula foi postada no dia ".$dia."/".$mes."/".$ano; // Primeira forma
echo "Olá, meu nome é $nome e esta aula foi postada no dia $dia/$mes/$ano"; // Segunda forma
?>

Lembram que tudo o que estiver dentro de aspas é identificado como string? O que eu fiz na primeira forma foi utilizar a concatenação para separar o que era PHP puro e o que era string. Já na segunda forma, eu joguei as variáveis dentro da própria string e você perceberá que o resultado será o mesmo na hora de exibir as 2 frases. Então, você deve estar me perguntando: Para que serve a concatenação neste caso, já que a segunda forma é mais fácil?

Bom, nem sempre é possível colocar 0 que queremos exibir dentro de uma string, por exemplo, o resultado de uma operação matemática entre algumas variáveis (assunto para as próximas aulas), sem contar que seu código fica mais organizado utilizando a concatenação.

A concatenação é super simples, basta você utilizar o ponto-final para separar o que é string e o que é PHP puro, logicamente depois de fechar ou abrir as aspas duplas. Só você olhar o exemplo que foi dado lá em cima.

Constantes

Ao contrário das variáveis, as constantes tem seus valores imutáveis, ou seja, não mudam. Elas podem ser acessadas de qualquer parte de seu script. Constantes, assim como as variáveis, são Case-Sensitive e também seguem as mesmas regras de definição de nome, com excessão do uso do sifrão que não é necessário. É considerado uma boa prática utilizar os nomes das constantes em letras maiúsculas.

Veja alguns exemplos:

<?php
define("NOME", "Diego Macêdo"); // Correto!
define("1CONSTANTE", "Olá Mundo!"); // Incorreto - Nome da constante é inválida, está começando com número.

echo "Olá, meu nome é ".NOME; // Resultado: Olá, meu nome é Diego Macêdo
?>

Exercícios

  1. Tente criar variáveis que utilizem as regras de diferentes formas (começando com números, com letras, somente números, somente letras, terminando com underscore ou começando, etc);
  2. Após criar as variáveis, exiba os seus valores utilizando o echo;
  3. Tente criar algumas variáveis com seus dados pessoais e monte uma frase em que você utilize a concatenação para montá-la;
  4. Realize os exercícios do 1 ao 3 utilizando constantes;

Espero que tenham aprendido e não esqueçam de deixar seu recado caso tenha dúvida. Grande abraço!

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *