کوکی-ها-در-لاراول

کوکی ها در لاراول – laravel cookie

دسته بندی : لاراول سطح مقاله : متوسط زمان مطالعه : 10 دقیقه آخرین بروز رسانی: 27 تیر 1399

کوکی ها اطلاعاتی هستند که بصورت یک فایل بر روی مرورگر شما و یا محل ذخیره سازی شما در سیستم مورد نظر ذخیره می شوند ، در این مقاله کوکی ها در لاراول را باهم بررسی می کنیم و به جزییات آن می پردازیم.

کوکی چیست؟

کوکی ها در کامپیوتر ، موبایل ، تبلت و یا هر دستگاه هوشمندی که از مرورگر استفاده می کنند توسط یک فایل ذخیره می شوند.

کوکی یک ابزار برای تعامل مرورگر و سایت های مورد بازدید شماس است.

اولین بار در سال 1994 شرکت Netscape از کوکی در مرورگر های خود استفاده کرد و در سال 1995 هم شرکت مایکروسافت در مرورگر اینترنت اکسپلور کوکی ها را مورد استفاده قرار داد.

در حال حاضر تمامی مرورگرها از کوکی ها پشتیبانی میکنند و محدودیتی ندارند.

ایجاد کوکی ها در لاراول

کوکی ها رو می توان به سادگی در فریمورک لاراول و در مسیر ذکر شده زیر ایجاد کرد.

Symfony\Component\HttpFoundation\Cookie

کوکی را می توان با استفاده از روش withCookie () به پاسخ وصل کرد.

برای تماس با متد withCookie () نمونه ای از پاسخ Illuminate \ Http \ Response ایجاد کنید.

کوکی های تولید شده توسط Laravel رمزگذاری و امضا می شوند و توسط مخاطب قابل تغییر یا خواندن نیست.

در اینجا کد نمونه ای با توضیحات آورده شده است:

//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() سه آرگومان را خواهد گرفت.

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

کوکی را می توان با استفاده از روش برای همیشه تنظیم کرد همانطور که در کد زیر نشان داده شده است.

$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 برای ایجاد یک کنترلر ، دستور زیر را اجرا کنید که در آن کوکی را دستکاری کنیم.

php artisan make:controller CookieController --plain

مرحله 2 پس از اجرای موفقیت آمیز ، خروجی زیر را دریافت خواهید کرد.

cookiecontroller

مرحله 3 کد زیر را در کپی کنید.

app/Http/Controllers/CookieController.php

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 خط زیر را در پرونده app/Http/routes.php اضافه کنید.

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

مرحله 5 برای تنظیم کوکی از URL زیر دیدن کنید.

http://localhost:8000/cookie/set

مرحله 6 خروجی مطابق شکل زیر ظاهر می شود. پنجره ظاهر شده در تصویر از فایرفاکس گرفته شده است اما بسته به نوع مرورگر شما ، از گزینه کوکی نیز می توان کوکی را بررسی کرد.

hello_world

مرحله 7 برای دریافت کوکی از URL فوق به URL زیر مراجعه کنید.

http://localhost:8000/cookie/get

در حال حاضر خروجی را در تصویر مشاهده می کنید.

مقالات دیگر لاراول را اینجا مشاهده کنید.

نتیجه گیری

کوکی ها در لاراول به سادگی پیاده سازی می شوند و می توانند در سرعت و عملکرد سایت شما بسیار تاثیر گذار باشند ، اما بخاطر داشته باشید که باید بجا و بصورت صحیح از آن ها استفاده کرد.

این مقاله چقدر براتون مفید بود؟

اولین امتیاز را ثبت کنید😊