با سلام خدمت کاربران گرامی سایت پی وی لرن و آن دسته از کاربرانی که به زبان PHP علاقه دارند. این دوره آموزش CakePHP مخصوص آن ها تهیه شده تا مهارت و تسلط خود را بر این زبان با یادگیری CakePHP به حد کمال برسانند و با کمک آن به یک برنامه نویس حرفه ای در عرصه PHP تبدیل شوند. در جلسه گذشته به صورت مفصل به آموزش کار و مدیریت بر جلسات پرداختیم. در ادامه این دوره شما را به آموزش مدیریت کوکی ها در CakePHP دعوت می نماییم.
می توان کوکی ها را در CakePHP با سهولت و امنیت بالا مدیریت کرد.
CookieComponent در این فریم ورک قابلیتی است که با استفاده از چندین کلاس امکان مدیریت کوکی ها را فراهم می کند.
می توان از روش () Write برای نوشتن استفاده کرد.
در ادامه می توانید سینتکس این روش را مشاهده نمایید.
1 | Cake\Controller\Component\CookieComponent::write(mixed $key, mixed $value = null) |
روش ()writeدارای دو arguments است:
1 | $this->Cookie->write('name', 'Virat'); |
می توانیم نام array را منتقل کنیم و مقادیر جفت شده را به صورت کوکی های چندگانه بنویسیم.
از روش ()read برای خواندن کوکی استفاده می شود. در ادامه می توانید سینتکس آن را مشاهده نمایید.
1 | Cake\Controller\Component\CookieComponent::read(mixed $key = null) |
روش ()read فقط یک argument را به عنوان نام متغیر کوکی (key$) در نظر می گیرد.
1 | echo $this->Cookie->read('name'); |
از روش ()delete برای حذف کوکی استفاده می شود. در ادامه می توانید سینتکس آن را مشاهده نمایید.
1 | Cake\Controller\Component\CookieComponent::delete(mixed $key) |
روش ()delete فقط یک argument را به عنوان نام متغیر کوکی (key$) در نظر می گیرد.
1 | $this->Cookie->delete('name'); |
تغییرات مورد نظر را در فایل config / routes.php را همانطور که در ادامه نشان داده شده است اعمال نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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/Cookies/CookiesController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?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 file زیر دایرکتوری فراخوانی شده write_cookie.ctp بسازید و سپس کد زیر را در آن فایل کننده کپی کنید.
src/Template/Cookie/write_cookie.ctp
1 | The cookie has been written. |
یک فایل View دیگر با عنوان check_cookie.ctp زیر همان دایرکتوری Cookies بسازید و سپس کد زیر را در آن فایل کننده کپی کنید.
src/Template/Cookie/check_cookie.ctp
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php if($isPresent): ?> The cookie is present. <?php else: ?> The cookie isn't present. <?php endif; ?> |
حالا یاز هم یک فایل View دیگر با عنوان delete_cookie.ctp زیر همان دایرکتوری Cookies بسازید و سپس کد زیر را در آن فایل کننده کپی کنید.
src/Template/Cookie/delete_cookie.ctp
1 | The cookie has been deleted. |
مثال بالا را با بازدید از آدرس زیر دنبال کنید:
http://localhost:85/CakePHP/cookie/write
این URL به شما کمک می کند داده ها را در کوکی بنویسید.
برای خواندن داده های کوکی، از URL زیر دیدن کنید:
http://localhost:85/CakePHP/cookie/read
برای بررسی اطلاعات کوکی از آدرس زیر استفاده کنید:
http://localhost:85/CakePHP/cookie/check
برای حذف اطلاعات کوکی از آدرس زیر استفاده کنید:
http://localhost:85/CakePHP/cookie/delete
در این جلسه با آموزش مدیریت کوکی ها در CakePHP همراهتان بودیم.
جلسه بعد به آموزش ایمنی سازی در CakePHP می پردازیم.
با پی وی لرن همراه باشید.