Учебники

CakePHP — Управление cookie

Обработка файлов cookie с помощью CakePHP проста и безопасна. Существует класс CookieComponent, который используется для управления Cookie. Класс предоставляет несколько методов для работы с Cookies.

Написать печенье

Метод write () используется для записи cookie. Ниже приведен синтаксис метода write ().

Cake\Controller\Component\CookieComponent::write(mixed $key, mixed $value = null)

Метод write () будет принимать два аргумента: имя переменной cookie ($ key) и значение переменной cookie ($ value) .

пример

$this->Cookie->write('name', 'Virat');

Мы можем передать массив имени, пары значений, чтобы написать несколько куки.

Читать Cookie

Метод read () используется для чтения cookie. Ниже приведен синтаксис метода read ().

Cake\Controller\Component\CookieComponent::read(mixed $key = null)

Метод read () принимает один аргумент — имя переменной cookie ($ key).

пример

echo $this->Cookie->read('name');

Проверить Cookie

Метод check () используется для проверки того, существует ли ключ / путь и имеет ли оно ненулевое значение. Ниже приводится синтаксис метода check () .

Cake\Controller\Component\CookieComponent::check($key)

пример

echo $this->Cookie->check(‘name’);

Удалить Cookie

Метод delete () используется для удаления cookie. Ниже приведен синтаксис метода delete ().

Cake\Controller\Component\CookieComponent::delete(mixed $key)

Метод delete () будет принимать один аргумент — имя переменной cookie ($ key) для удаления.

Пример 1

$this->Cookie->delete('name');

Пример 2

Внесите изменения в файл config / rout.php, как показано в следующей программе.

конфиг / routes.php

<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('cookie/write',['controller'=>'Cookies','action'=>'write_cookie']);
      $routes->connect('cookie/read',['controller'=>'Cookies','action'=>'read_cookie']);
      $routes->connect('cookie/check',['controller'=>'Cookies','action'=>'check_cookie']);
      $routes->connect('cookie/delete',['controller'=>'Cookies','action'=>'delete_cookie']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

Создайте файл CookiesController.php в src / Controller / CookiesController.php . Скопируйте следующий код в файл контроллера.

SRC / Controller / Печенье / CookiesController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\Controller\Component\CookieComponent;

   class CookiesController extends AppController{
      public $components = array('Cookie');
   
      public function writeCookie(){
         $this->Cookie->write('name', 'Virat');
      }
      public function readCookie(){
         $cookie_val = $this->Cookie->read('name');
         $this->set('cookie_val',$cookie_val);
      }
      public function checkCookie(){
         $isPresent = $this->Cookie->check('name');
         $this->set('isPresent',$isPresent);
      } 
      public function deleteCookie(){
         $this->Cookie->delete('name');
      }
   }
?>

Создайте каталог Cookies в src / Template и в этом каталоге создайте файл View с именем write_cookie.ctp . Скопируйте следующий код в этот файл.

ЦСИ / Шаблон / Cookie / write_cookie.ctp

The cookie has been written.

Создайте другой файл View с именем read_cookie.ctp в том же каталоге Cookies и скопируйте следующий код в этот файл.

ЦСИ / Шаблон / Cookie / read_cookie.ctp

The value of the cookie is: <?php echo $cookie_val; ?> 

Создайте другой файл View с именем check_cookie.ctp в том же каталоге Cookies и скопируйте следующий код в этот файл.

ЦСИ / Шаблон / Cookie / check_cookie.ctp

<?php
   if($isPresent):
?>
The cookie is present.

<?php
   else:
?>
The cookie isn't present.

<?php
   endif;
?>

Создайте другой файл View с именем delete_cookie.ctp в том же каталоге Cookies и скопируйте следующий код в этот файл.

ЦСИ / Шаблон / Cookie / delete_cookie.ctp

The cookie has been deleted.

Выход

Выполните приведенный выше пример, посетив следующий URL — http: // localhost: 85 / CakePHP / cookie / write

Это поможет вам записать данные в cookie.

Печенье

Посетите следующий URL, чтобы прочитать данные cookiehttp: // localhost: 85 / CakePHP / cookie / read

Печенье CakePHP

Посетите следующий URL, чтобы проверить данные cookiehttp: // localhost: 85 / CakePHP / cookie / check

Печенье CakePHP

Посетите следующий URL для удаления данных cookiehttp: // localhost: 85 / CakePHP / cookie / delete