Em PHP, existe uma diferença muito grande entre se usar aspas simples e aspas duplas na hora de exibir uma String.
As aspas duplas são capazes de realizar interpolação. Isto é, com double quoted (” “) o PHP interpreta o conteúdo das variável dentro de um String e o exibe para o usuário.
Já com relação às aspas simples, ou single quoted (‘ ‘), o PHP não realiza a interpolação. Ele mostra “ipsis litteris” a variável, não exibe o seu conteúdo.
Escape Sequence
Contudo, caso você queira exibir algum elemento entre asas dentro da sua String, saiba que existem algumas regras. Isto porque resultará em um erro se você fizer um código como o exemplo a seguir, com aspas duplas ou simples:
$nome = “brazulean”;
$tipo = “site”;
echo “O nome do meu $tipo é “$nome”, e ele tem um blog sobre PHP”
Um erro ocorrerá pois a linguagem entenderá que as aspas antes de $nome iniciam uma primeira String, e que as aspas que aparecem logo após essa mesma variável iniciam uma outra segunda.
Para evitar que isso aconteça, devemos utilizar um recurso “escape sequence” (sequência de escape”, que nada mais é do que digitar uma barra invertida (\) seguida do conteúdo que queremos apresentar.
Por exemplo:
echo “O nome do meu $tipo é \”$nome\”, e ele tem um blog sobre PHP”
Agora, com esse recurso, não haverá erros e o PHP irá nos retornar o seguinte:
O nome do meu site é “brazulean”, e ele tem um blog sobre PHP
Testando com aspas simples:
echo ‘O nome do meu $tipo é \’$nome\’, e ele tem um blog sobre PHP’
Resultado: O nome do meu $tipo é ‘$nome’, e ele tem um blog sobre PHP
É importante saber que para aspas simples existem, praticamente, apenas uma sequência de escape. Ela serve para você apresentar um conteúdo dentro da sua String entre aspas simples, sem que ocorra um erro:
👉 \’
Contudo, para aspas duplas exitem diversas sequências de escape. Aqui estão algumas delas:
\n : nova linha
\t : Tabulação horizontal
\\ : Mostrar uma barra invertida
\$ : mostrar um sinal de cifrão
\u{} : mostrar um Codepoint Unicode
Heredoc e Nowdoc
De maneira parecida com as aspas simples e duplas, exitem dois recursos que permitem com que você forneça um bloco de texto, com a possibilidade de se adicionar ou não variáveis dentro dele. Vejamos:
Caso você queira criar um bloco de texto com variáveis interpoladas, ou interpretadas, você deverá usar o Heredoc. Exemplo:
$curso = “PHP;
$ano = date (‘Y’);
eccho<<<FRASE
estou estudando
$curso em $ano
FRASE;
Como resultado, você terá:
estou estudando
PHP em 2024
Ou seja, perceba que entre “FRASE”, que poderia ser qualquer outra coisa, você pode escrever qualquer coisa e do modo que quiser. A esse recurso, damos o nome de Heredoc, quando há interpolação de variáveis no texto.
Contudo, caso você queira que o PHP não interprete as variáveis, basta utilizar o Nowdoc. A única diferença, é que o desenvolvedor deverá deixar entre aspas simples somente a primeira aparição de FRASE. Vejamos:
$curso = “PHP;
$ano = date (‘Y’);
eccho<<<‘FRASE’
estou estudando
$curso em $ano
FRASE;
Como resultado, você terá:
estou estudando
$curso em $ano
E agora? Conseguiu entender?