Обработка файлов 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, чтобы прочитать данные cookie — http: // localhost: 85 / CakePHP / cookie / read
Посетите следующий URL, чтобы проверить данные cookie — http: // localhost: 85 / CakePHP / cookie / check
Посетите следующий URL для удаления данных cookie — http: // localhost: 85 / CakePHP / cookie / delete