Cookies play an important role while dealing a users session on a web application. In this chapter, you will learn about working with cookies in Laravel based web applications.
Creating a Cookie
Cookie can be created by global cookie helper of Laravel. It is an instance of SymfonyComponentHttpFoundationCookie. The cookie can be attached to the response using the withCookie() method. Create a response instance of IlluminateHttpResponse class to call the withCookie() method. Cookie generated by the Laravel are encrypted and signed and it cant be modified or read by the client.
Here is a sample code with explanation.
Cookie() method will take 3 arguments. First argument is the name of the cookie, second argument is the value of the cookie and the third argument is the duration of the cookie after which the cookie will get deleted automatically.
Cookie can be set forever by using the forever method as shown in the below code.
Retrieving a Cookie
Once we set the cookie, we can retrieve the cookie by cookie() method. This cookie() method will take only one argument which will be the name of the cookie. The cookie method can be called by using the instance of IlluminateHttpRequest.
Here is a sample code.
Observe the following example to understand more about Cookies −
Step 1 − Execute the below command to create a controller in which we will manipulate the cookie.
php artisan make:controller CookieController --plain
Step 2 − After successful execution, you will receive the following output −
Step 3 − Copy the following code in
Step 4 − Add the following line in app/Http/routes.php file.
Step 5 − Visit the following URL to set the cookie.
Step 6 − The output will appear as shown below. The window appearing in the screenshot is taken from firefox but depending on your browser, cookie can also be checked from the cookie option.
Step 7 − Visit the following URL to get the cookie from the above URL.
Step 8 − The output will appear as shown in the following image.