Welcome to the Cookbook

loading...

5.3.2 Usando o componente

The original text for this section has changed since it was translated. Please help resolve this difference. You can:

More information about translations

Essa seção descreve os métodos do CookieComponent.

write(mixed $key, mixed $value, boolean $encrypt, mixed $expires)

O método write() é o coração do componente cookie, $key é o nome da variável cookie que você quer, e o $value é a informação para ser armazenada.

$this->Cookie->write('name','Larry');
  1. $this->Cookie->write('name','Larry');

Você pode também agrupar suas variáveis fornecendo uma pequena notação no parâmetro key.

$this->Cookie->write('User.name', 'Larry');
  $this->Cookie->write('User.role','Lead');  
  1. $this->Cookie->write('User.name', 'Larry');
  2. $this->Cookie->write('User.role','Lead');

Se você quer escrever mais que um valor no cookie, como um horário, você pode passar um array:

$this->Cookie->write(
  array('name'=>'Larry','role'=>'Lead')
  );  
  1. $this->Cookie->write(
  2. array('name'=>'Larry','role'=>'Lead')
  3. );

Todos os valores no cookie são criptografados por padrão. Se você quer armazenar esses valores como texto puro, sete o terceiro parâmetro do método writer() para false.

$this->Cookie->write('name','Larry',false);
  1. $this->Cookie->write('name','Larry',false);

O último parâmetro para write é $expires – o número de segundos antes do seu cookir expirar. Por conveniência, esse parâmetro pode também ser passado como uma string que a função PHP strtotime() entenda:

//Ambos cookies expiram em uma hora
  $this->Cookie->write('first_name','Larry',false, 3600);
  $this->Cookie->write('last_name','Masters',false, '1 hour');
  1. //Ambos cookies expiram em uma hora
  2. $this->Cookie->write('first_name','Larry',false, 3600);
  3. $this->Cookie->write('last_name','Masters',false, '1 hour');

read(mixed $key)

Esse método é usado para ler o valor da variável cookie com o nome especificado por $key.

// Saídas “Larry”
  echo $this->Cookie->read('name');
  
  //Você pode também usar a notação curta para ler
  echo $this->Cookie->read('User.name');
  
  //Obter as variáveis que você tem agrupada
  //usando uma notação curta como um array, usando algo como
  $this->Cookie->read('User');
  
  // algo como a saída do array('name' => 'Larry', 'role'=>'Lead')
  1. // Saídas “Larry”
  2. echo $this->Cookie->read('name');
  3. //Você pode também usar a notação curta para ler
  4. echo $this->Cookie->read('User.name');
  5. //Obter as variáveis que você tem agrupada
  6. //usando uma notação curta como um array, usando algo como
  7. $this->Cookie->read('User');
  8. // algo como a saída do array('name' => 'Larry', 'role'=>'Lead')
del(mixed $key)

Deleta uma variável cookie do nome em $key. Trabalha com notação curta.

  //Delete a variable
  $this->Cookie->del('bar')
  
  //Deleta a  variável cookie bar, mas não todos debaixo de foo
  $this->Cookie->del('foo.bar')
 
  1. //Delete a variable
  2. $this->Cookie->del('bar')
  3. //Deleta a variável cookie bar, mas não todos debaixo de foo
  4. $this->Cookie->del('foo.bar')
destroy()

Destroy o cookie atual.