Apostila de PHP - PARTE 6


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