درس 10 - کوکی ها در لاراول
آموزش کامل فریمورک لاراول

آموزش کوکی ها در فریمورک لاراول

در این درس آموزشی به آموزش کار با کوکی ها در اپلیکیشن های پیاده سازی شده برپایه ی فریمورک لاراول خواهیم پرداخت.

آموزش ساختن یک کوکی در فریمورک لاراول

کوکی ها در فریمورک لاراول توسط یک helper قابل ساختن هستند که یک نمونه از Symfony\Component\HttpFoundation\Cookie هست.

کوکی ها توسط متود withCookie به پاسخ یا response فریمورک لاراول ضمیمه میشود. یک کلاس نمونه از Illuminate\Http\Response برای صدا زدن متود withCookie بسازید. کوکی های تولید شده توسط فریمورک لاراول رمزگزاری شده و امضا شده هستند که توسط کلاینت قابل ویرایش یا خواندن نیستند.

در ادامه نمونه کد به همراه توضیحات آن آمده است.

//Create a response instance
$response = new Illuminate\Http\Response('Hello World');

//Call the withCookie() method with the response method
$response->withCookie(cookie('name', 'value', $minutes));

//return the response
return $response;

 

متود Cookie سه عدد آرگومان دریافت میکند که اولین آرگومان نام کوکی ، دومین آرگومان مقدار کوکی و سومین آرگومان مدت زمان زندگی کوکی هست و بعد از آن زمان از بین میرود.

کوکی هایی در لاراول هستند که بصورت دائمی تعریف میشوند که با متود forever مشخص میشود در زیر مثالی از این مورد آورده شده است.

$response->withCookie(cookie()->forever('name', 'value'));

 

بازیافت مقدار کوکی ها در فریمورک لاراول

در فریمورک لاراول کوکی های موجود و از پیش ساخته شده را میتوانید توسط متود cookie بدست بیاورید. متود cookie فقط یک آرگومان قبول میکند و آن هم نام کوکی است.

متود cookie میتواند توسط نمونه ای از Illuminate\Http\Request صدا زده شود.

نمونه کد برای این کار در زیر آمده است.

//’name’ is the name of the cookie to retrieve the value of
$value = $request->cookie('name');

مثال

برای درک بیشتر کوکی ها در لاراول مثال زیر را در نظر داشته باشید.

قدم 1 - دستور زیر را در ترمینال یا cmd خود اجرا کنید تا یک کنترلر ساخته شود.

php artisan make:controller CookieController --plain

قدم 2 - بعد از اجرای موفق دستورات بالا تصویر زیر را باید مشاهده فرمایید.

دوره ی آموزش کامل لاراول

قدم 3 - کدهای زیر را در فایل app/Http/Controllers/CookieController.php کپی کنید.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class CookieController extends Controller {
   public function setCookie(Request $request) {
      $minutes = 1;
      $response = new Response('Hello World');
      $response->withCookie(cookie('name', 'virat', $minutes));
      return $response;
   }
   public function getCookie(Request $request) {
      $value = $request->cookie('name');
      echo $value;
   }
}

قدم 4 - نمونه کدهای زیر را به مسیر route های فریمورک لاراول خود اضافه کنید.

Route::get('/cookie/set','CookieController@setCookie');
Route::get('/cookie/get','CookieController@getCookie');

قدم 5 - برای ست کردن کوکی ها به آدرس url زیر در مرورگر خود مراجعه کنید.

http://localhost:8000/cookie/set

قدم 6 - نتیجه باید به شکل تصویر زیر باشد. تصویر زیر توسط مرورگر فایرفاکس گرفته شده است و ممکن است مرورگر شما چیز دیگری باشد و نتیجه ی شما از نظر ظاهری بستگی به مرورگر شما هم دارد.

آموزش کوکی ها در فریمورک لاراول

قدم 7 - به url زیر در مرورگر مراجعه کنید تا نتیجه ی نهایی را در مرورگر خود ببینید.

http://localhost:8000/cookie/get

قدم 8 - نتیجه ی نهایی باید مشابه تصویر زیر باشد.

آموزش کوکی ها در فریمورک لاراول

اتمام درس