Nota: $a e $b são completamente iguais aqui, mas não porque $a está apontando para $b ou vice versa, mas sim que $a e $b apontam para o mesmo lugar.
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a =& $b;
$b = 100;
echo $a;
?>
</body>
</html>
Figura 34 – Código de exemplo de atribuição de valor a duas variáveis (a e b)
O comando unset remove uma referência previamente declarada, mas ela mantém o último valor recebido.
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a =& $b;
$b = 100;
unset($b);
$b = 200;
echo $a;
?>
</body>
</html>
Matrizes
Figura 35 – Código de remoção de uma referência
Matrizes são variáveis que armazenam mais de um valor simultaneamente. Uma matriz no PHP é atualmente um mapa ordenado. Um mapa é um tipo que relaciona valores para chaves. Este tipo é otimizado de várias maneiras, então você pode usá-lo como um array real, ou uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila, etc.
As referências aos elementos da matriz podem ser declaradas como valores numéricos ou strings (figura 37).
$funcionarios = array(0 => "José",
1 => "João",
2 => "Maria",
3 => "Pedro",
4 => "Carla");
echo "<ul>";
echo "<li>" . $funcionarios[2]; echo "<li>" . $funcionarios[4]; echo "</ul>";
?>
</body>
</html>
Figura 36 – Código com declaração de matriz
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$siglas = array("SP" => "São Paulo",
"RJ" => "Rio de Janeiro", "MG" => "Minas Gerais");
echo $siglas["SP"];
?>
</body>
</html>
Figura 37 – Código com declaração de matriz e referência através de string
Inclusão de Arquivos
O comando include permite a inclusão de outros arquivos php dentro do script que está sendo executado. Pode-se criar uma função que imprime a data atual e pode-se reusá-lo sem precisar reescrever o código cada vez que for necessário. No exemplo a seguir, pode-se chamar o primeiro script de cabecalho.php e o próximo script o inclui através do comando include.
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$meses = array(1 => "Janeiro",
2 => "Fevereiro", 3 => "Março",
4 => "Abril",
5 => "Maio",
6 => "Junho",
7 => "Julho",
8 => "Agosto",
9 => "Setembro",
10 => "Outubro",
11 => "Novembro",
12 => "Dezembro");
$hoje = getdate();
$dia = $hoje["mday"];
$mes = $hoje["mon"];
$nomeMes = $meses[$mes];
$ano = $hoje["year"];
echo "Olá. Hoje é dia $dia de $nomeMes de $ano."
?>
</body>
</html>
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php include("cabecalho.php");
?>
</body>
</html>
Figura 38 – Script que é salvo com o nome de cabecalho.php
Figura 39 – Código com inclusão de arquivo externo chamado cabecalho.php
Cookies
Cookies são formas de armazenar informações a respeito de uma sessão dentro do disco rígido do usuário cliente. O comando setcookie armazena um cookie com as informações que se desejam recuperar em seguida. Quando não for declarado um tempo de vida, o cookie se auto-destrói quando a sessão é encerrada (quando o browser for fechado).
<?php
if (isset($HTTP_POST_VARS['usuario'])) {
$user = $HTTP_POST_VARS['usuario']; setcookie("usuario", $user);
$mensagem = "Usuário $user conectado.<p>";
}
else
{
$mensagem = "Digite o seu nome de usuário<p>";
}
?>
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?
echo $mensagem;
?>
<form method="post" action="teste.php">
Nome de Usuário: <input type="text" name="usuario">
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Figura 40 – Código que cria um cookie com o nome do usuário
<html>
<head>
<title>Página PHP</title>
</head>
<body>
<?php
$user = $_COOKIE["usuario"];
echo "O usuário $user está conectado.";
?>
</body>
</html>
Figura 41 – Código que recupera os dados do cookie criado anteriormente
O código a seguir demonstra o uso de um cookie com “tempo de vida” definido em 3600 segundos, isto é, uma hora. Após uma hora decorrida de sua criação, ele é removido.
<?php
if (isset($_POST['usuario'])) {
$user = $_POST['usuario'];
setcookie("usuario", $user, time() + 3600); // Expira em uma hora
$mensagem = "Usuário $user conectado.<p>";
}
else
{
$mensagem = "Digite o seu nome de usuário<p>";
}
?>
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?
echo $mensagem;
?>
<form method="post" action="teste.php">
Nome de Usuário: <input type="text" name="usuario">
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Comentários
Postar um comentário