Loading…

Laravel Interview Questions and Answers

By Admin
Last update: 10 Sep 2020, 120 Questions
Laravel Interview Questions

Laravel is a PHP web framework launched by Taylor Otwell. It is a free and open-source framework that is designed to develop web applications with MVC (model-view-controller). Stay tuned for the latest advancements and best Laravel Interview Questions. It is based on Symfony and its source is GitHub licensed under MIT license terms. Released in the year 2011, it is featured as a modular packaging system.

It works more efficiently by accessing relational databases which makes application deployment, orientation, and development easy. There are various features associated with Laravel; object-relational mapping, query building, application logic development of applications, reverse routing.

Key points about Laravel
  • Source code hosted on GitHub and licensed under MIT License.
  • Most Starred PHP Framework for custom software development on Github.
  • Its ability to use all of the new features of PHP sets it apart.
  • Friendly online community
  • Detailed documentation

Our extensive collection of Laravel Interview Questions will help you find a great job.

Quick Facts About Laravel
What is the latest version of Laravel? 8.0, released on 8th September 2020.
When was Laravel first released? June 2011.
Laravel is Created By Taylor Otwell
What language does Laravel use? PHP
Which is the best IDE for Laravel? Netbeans, PhpStorm, Atom, Sublime Text

Most Frequently Asked Laravel Interview Questions

Here in this article, we will be listing frequently asked Laravel Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.

1. What is Repository pattern in laravel?

It allows using objects without having to know how these objects are persisted. It is an abstraction of the data layer. It means that our business logic no need to know how data is retrieved. The business logic relies on the repository to get the correct data.

Basically it is used to decouple the data access layers and business logic in our application.

2. What design patterns used for Laravel Framework?

Design patterns are not prepared instructions or libraries, that can be definitely utilized to your system, this is no longer a concrete solution that can be converted into source code, plan patterns are an awful lot greater than that. They are patterns or templates, that can be carried out to resolve a problem in different particular situations.

Design Patterns in Laravel
  • The Builder pattern
  • The Repository pattern
  • The need for the Builder pattern
  • The need for the Factory pattern
  • The Factory pattern
  • The Provider pattern
  • The Facade pattern
  • The Strategy pattern
  • The need for the Repository pattern etc
3. How to use skip() and take() in Laravel Query?

We can use skip() and take() both methods to limit the number of results in the query. skip() is used to skip the number of results and take() is used to get the number of result from the query.

Example

                                                    

$posts = DB::table('blog')->skip(5)->take(10)->get();

// skip first 5 records
// get 10 records after 5

4. How to use aggregate functions in Laravel?

Laravel provides a variety of aggregate functions such as max, min, count,avg, and sum. We can call any of these functions after constructing our query.

$users = DB::table(‘admin’)->count();
$maxComment = DB::table(‘blogs’)->max('comments');

5. How to create real time sitemap.xml file in Laravel?

We can create all web pages of our sites to tell Google and other search engines like Bing, Yahoo etc about the organization of our site content. These search engine web crawlers read this file to more intelligently crawl our sites.

Here are the steps that helps you to create real time sitemap.xml file and these steps also helps to create dynamic XML files.
  • Firstly we have to create a route for this in your routes/web.php file
    Example
    Route::get('sitemap.xml', '[email protected]')->name('sitemapxml');
  • Now you can create SitemapController.php with artisan command php artisan make:controller SitemapController
  • Now you can put this code in your controller
    public function index() {
        $page = Page::where('status', '=', 1)->get();
        return response()->view('sitemap_xml', ['page' => $page])->header('Content-Type', 'text/xml');
    }
  • Now please create a view file in resources/view/sitemap_xml.blade.php file with this code
  • Put this code in that created view file
    <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
    http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
    @foreach ($page as $post)
    <url>
    <loc>{{ url($post->page_slug) }}</loc>
    <lastmod>{{ $post->updated_at->tz('UTC')->toAtomString() }}</lastmod>
    <priority>0.9</priority>
    </url>
    @endforeach
    </urlset>
6. What is Dependency injection in Laravel?

In Laravel, dependency injection is a term used for the activity of injecting components into the user application. It’s a key element of agile architecture. The Laravel service container is a powerful tool that manages all class dependencies and performs dependency injection.

public function __construct(UserRepository $data)
{
    $this->userdata = $data;
}

In this given an example, the UserController needs to retrieve users data from a data source(database). So, we can inject a service that is able to recover all users. In this example, our UserRepository most likely uses Eloquent to get user’s data from the database.

7. Which template engine laravel use?

Laravel uses "Blade Template Engine". It is a straightforward and powerful templating engine that is provided with Laravel.

8. What is composer lock in laravel?

After running the composer install in the project directory, the composer will generate the composer.lock file.It will keep a record of all the dependencies and sub-dependencies which is being installed by the composer.json.

9. How to use maintenance mode in Laravel 5?

We have to use the following artisan commands to enable/disable maintenance mode in Laravel 5.

Enable maintenance mode

php artisan down

Disable maintenance mode

php artisan up

10. How to mock a static facade method in Laravel?

In Laravel, Facades are used to provide a static interface to classes available inside the application's service container.

Now, unlike conventional static method calls, facades can be mocked in Laravel. It can be done using the shouldRecieve method, which shall return an instance of a facade mock.

Example

                                                    

$value = Cache::get('key');

Cache::shouldReceive('get')->once()->with('key')->andReturn('value');

11. How to use multiple databases in Laravel?
To use multiple databases in Laravel, follow these steps carefully.
  • Ensure these settings in the .env file
  • Add these following lines of code in the config/database.php file to clearly define the relationship between the two databases
  • Execute the query with particular database.
1. Ensure these settings in the .env file

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=bestinterviewquestion
[email protected]

DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=localhost
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=your_db_name2
DB_USERNAME_SECOND=bestinterviewquestion
[email protected]

2. Add these following lines of code in the config/database.php file to clearly define the relationship between the two databases

'mysql' => [
    'driver'    => env('DB_CONNECTION'),
    'host'      => env('DB_HOST'),
    'port'      => env('DB_PORT'),
    'database'  => env('DB_DATABASE'),
    'username'  => env('DB_USERNAME'),
    'password'  => env('DB_PASSWORD'),
],

'mysql2' => [
    'driver'    => env('DB_CONNECTION_SECOND'),
    'host'      => env('DB_HOST_SECOND'),
    'port'      => env('DB_PORT_SECOND'),
    'database'  => env('DB_DATABASE_SECOND'),
    'username'  => env('DB_USERNAME_SECOND'),
    'password'  => env('DB_PASSWORD_SECOND'),
],

3. Execute Query

$users = DB::connection('your_db_name2')->select();

12. What is Eloquent ORM in Laravel?

The Eloquent ORM present in Laravel offers a simple yet beautiful ActiveRecord implementation to work with the database. Here, each database table offers a corresponding model which is used to interact with the same table. We can create Eloquent models using the make:model command.

It has many types of relationships.
  • One To One relationships
  • One To Many relationships
  • Many To Many relationships
  • Has Many Through relationships
  • Polymorphic relationships
  • Many To Many Polymorphic relationships

For more details you can visit www.Laravel.com

13. How to use soft delete in laravel?

Soft delete is a laravel feature that helps When models are soft deleted, they are not actually removed from our database. Instead, a deleted_at timestamp is set on the record. To enable soft deletes for a model, we have to specify the soft delete property on the model like this.

In model we have to use namespace
use Illuminate\Database\Eloquent\SoftDeletes;

and we can use this
use SoftDeletes; in our model property.

After that when we will use delete() query then records will not remove from our database. then a deleted_at timestamp is set on the record.

14. How to upload files in laravel?

We have to call Facades in our controller file with this :
use Illuminate\Support\Facades\Storage;

Example

                                                    

if($request->hasFile(file_name')) {
      $file = Storage::putFile('YOUR FOLDER PATH', $request->file('file_name'));
}

15. What is with() in Laravel?

with() function is used to eager load in Laravel. Unless of using 2 or more separate queries to fetch data from the database, we can use it with() method after the first command. It provides a better user experience as we do not have to wait for a longer period of time in fetching data from the database.

16. How to remove /public from URL in laravel?

You can do this in various ways. Steps are given below:-

  • Copy .htaccess file from public folder and now paste it into your root.
  • Now rename server.php file/page to index.php on your root folder.
  • Now you can remove /public word from URL and refresh the page. Now it will work.
17. How to use joins in laravel?
Laravel supports various joins that's are given below:-
  • Inner Join

    DB::table('admin') ->join('contacts', 'admin.id', '=', 'contacts.user_id') ->join('orders', 'admin.id', '=', 'orders.user_id') ->select('users.id', 'contacts.phone', 'orders.price') ->get();

  • Left Join / Right Join

    $users = DB::table('admin') ->leftJoin('posts', 'admin.id', '=', 'posts.admin_id') ->get();
    $users = DB::table('admin') ->rightJoin('posts', 'admin.id', '=', 'posts.admin_id') ->get();

  • Cross Join

    $user = DB::table('sizes') ->crossJoin('colours') ->get();

  • Advanced Join

    DB::table('admin') ->join('contacts', function ($join) { $join->on('admin.id', '=', 'contacts.admin_id')->orOn(...); }) ->get();

  • Sub-Query Joins

    $admin = DB::table('admin') ->joinSub($latestPosts, 'latest_posts', function ($join) { $join->on('admin.id', '=', 'latest_posts.admin_id'); })->get();

19. How to get client IP address in Laravel 5?

You can use request()->ip();

You can also use : Request::ip() but in this case, we have to call namespace like this: Use Illuminate\Http\Request;

20. What is Auth? How is it used?

Laravel Auth is the process of identifying the user credentials with the database. Laravel managed it's with the help of sessions which take input parameters like username and password, for user identification. If the settings match then the user is said to be authenticated.

Auth is in-built functionality provided by Laravel; we have to configure.

We can add this functionality with php artisan make: auth

Auth is used to identifying the user credentials with the database.

21. How to get last inserted id using laravel query?
In case you are using save()

$blog = new Blog;
$blog->title = ‘Best Interview Questions’;
$blog->save()

// Now you can use (after save() function we can use like this)

$blog->id // It will display last inserted id

In case you are using insertGetId()

$insertGetId = DB::table(‘blogs’)->insertGetId([‘title’ => ‘Best Interview Questions’]);

22. What are the difference between softDelete() & delete() in Laravel?
1. delete()

In case when we used to delete in Laravel then it removed records from the database table.

Example:

$delete = Post::where(‘id’, ‘=’, 1)->delete();

2. softDeletes()

To delete records permanently is not a good thing that’s why laravel used features are called SoftDelete. In this case, records did not remove from the table only delele_at value updated with current date and time.
Firstly we have to add a given code in our required model file.

use SoftDeletes;
protected $dates = ['deleted_at'];

After this, we can use both cases.

$softDelete = Post::where(‘id’, ‘=’, 1)->delete();

OR

$softDelete = Post::where(‘id’, ‘=’, 1)->softDeletes();

23. How to use mail() in laravel?

Laravel provides a powerful and clean API over the SwiftMailer library with drivers for Mailgun, SMTP, Amazon SES, SparkPost, and send an email. With this API, we can send email on a local server as well as the live server.

Here is an example through the mail()

Laravel allows us to store email messages in our views files. For example, to manage our emails, we can create an email directory within our resources/views directory.

Example

                                                    

public function sendEmail(Request $request, $id)
{
      $user = Users::find($id);
      Mail::send('emails.reminder', ['user' => $user], function ($mail) use ($user)  {
           $mail->from('[email protected]', 'Feedback');
           $mail->to($user->email, $user->name)->subject('Thanks Message');
      });
}

24. How to use cookies in laravel?
1. How to set Cookie

To set cookie value, we have to use Cookie::put('key', 'value');

2. How to get Cookie

To get cookie Value we have to use Cookie::get('key');

3. How to delete or remove Cookie

To remove cookie Value we have to use Cookie::forget('key')

4. How to check Cookie

To Check cookie is exists or not, we have to use Cache::has('key')

25. What is laravel Service container?

Service Container is a powerful tool which is used to manage class dependencies and perform dependency injection. It is also known as the IoC container. It offers several benefits to users such as.

Advantages of Service Container
  • Freedom to manage class dependencies on object creation.
  • Service contain as Registry.
  • Ability to bind interfaces to concrete classes.
26. How to use session in laravel?

1. Retrieving Data from session
session()->get('key');

2. Retrieving All session data
session()->all();

3. Remove data from session
session()->forget('key'); or session()->flush();

4. Storing Data in session
session()->put('key', 'value');

27. What are the steps to install Laravel with composer?
Laravel installation steps:-
  • Download composer from https://getcomposer.org/download (if you don’t have a composer on your system)
  • Open cmd
  • Goto your htdocs folder.
  • C:\xampp\htdocs>composer create-project laravel/laravel projectname
    OR
    If you install some particular version, then you can use
    composer create-project laravel/laravel project name "5.6"

If you did not mention any particular version, then it will install with the latest version.

28. How to make a helper file in laravel?

We can create a helper file using Composer. Steps are given below:-

  • Please create a "app/helpers.php" file that is in app folder.
  • Add
    "files": [
        "app/helpers.php"
    ]

    in "autoload" variable.
  • Now update your composer.json with composer dump-autoload or composer update
29. How to use Stored Procedure in Laravel?
How to create a Stored Procedure

To create a Stored Procedure you can execute given code in your MySQL query builder directly or use phpmyadmin for this.

DROP PROCEDURE IF EXISTS `get_subcategory_by_catid`;
delimiter ;;
CREATE PROCEDURE `get_subcategory_by_catid` (IN idx int)
BEGIN
SELECT id, parent_id, title, slug, created_at FROM category WHERE parent_id = idx AND status = 1 ORDER BY title;
END
;;
delimiter ;

After this, you can use this created procedure in your code in Laravel.

How to use stored procedure in Laravel

$getSubCategories = DB::select(
   'CALL get_subcategory_by_catid('.$item->category_id.')'
);

30. What is Facade and how it can be used in Laravel?

In Laravel, Facades offer a static interface to classes available inside the application's service container. They serve as static proxies for underlying classes present in the service container, offering benefit of expressive syntax while maintaining more flexibility and testability than other available traditional static methods.

All the facades are defined in the namespace Illuminate\Support\Facades for easy accessibility and usability.

laravel interview questions

Example

                                                    

use Illuminate\Support\Facades\Cache;

     Route::get('/cache', function () {

     return Cache::get('PutkeyNameHere');

});

31. What is the use of dd() in Laravel?

It is a helper function which is used to dump a variable's contents to the browser and stop the further script execution. It stands for Dump and Die.

Example

                                                    

dd($array);

32. What are the steps to create packages in Laravel?
Follow these steps to successfully create a package in Laravel:
  • Creating a Folder Structure
  • Creating the Composer File
  • Loading the Package from the Main Composer.JSON File
  • Creating a Service Provider for Package
  • Creating the Migration
  • Creating the Model for the Table
  • Creating a Controller
  • Creating a Routes File
  • Creating the Views
  • Updating the Service Provider to Load the Package
  • Update the Composer File
33. How to get data between two dates in Laravel?

In Laravel, we can use whereBetween() function to get data between two dates.

Example

                                                    

Users::whereBetween('created_at', [$firstDate, $secondDate])->get();

34. How to turn off CSRF protection for a particular route in Laravel?

We can add that particular URL or Route in $except variable. It is present in the app\Http\Middleware\VerifyCsrfToken.php file.

Example

                                                    

class VerifyCsrfToken extends BaseVerifier {
      protected $except = [
            'Pass here your URL',
      ];
}

35. How can we use middleware in laravel?

It acts as a middleman between a request and a response. Middleware is a type of filtering mechanism used in Laravel application.

  • We can create middelware with
    php artisan make:middleware UsersMiddleware
  • Here "UsersMiddleware" is the name of Middleware. After this command a "UsersMiddleware.php" file created in app/Http/Middleware directory.
  • After that we have to register that middleware in kernel.php (available in app/Http directory) file in "$routeMiddleware" variable.
    'Users' => \App\Http\Middleware\UsersMiddleware::class,
  • Now we can call "Users" middleware where we need it like controller or route file.
  • We can use it in controller file like this.
    public function __construct() {
    $this->middleware('Users');
    }
  • In route file we can use like this.
    Route::group(['middleware' => 'Users'], function () {
    Route::get('/', '[email protected]');
    });
36. How to pass CSRF token with ajax request?

In between head, tag put <meta name="csrf-token" content="{{ csrf_token() }}"> and in Ajax, we have to add
$.ajaxSetup({
   headers: {
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
   }
});

37. What is service providers?

In Laravel, service providers are the center of overall Laravel application bootstrapping. User applications, as well as core services of Laravel, are bootstrapped with service providers. These powerful tools are used by developers to manage class dependencies and perform dependency injection. To create a service provider, we have to use the below-mentioned artisan command.

You can use php artisan make: provider ClientsServiceProvider artisan command to generate a service provider :

It has below listed functions in its file.
  • register function
  • boot function
38. How to enable query log in laravel?

Our first step should be

DB::connection()->enableQueryLog();

After our query, it should be placed

$querieslog = DB::getQueryLog();

After that, it should be placed

dd($querieslog)

Example

                                                    

DB::connection()->enableQueryLog();

$result = User:where(['status' => 1])->get();

$log = DB::getQueryLog();

dd($log);

39. What is Database Migration and how to use this in Laravel?

It is a type of version control for our database. It is allowing us to modify and share the application's database schema easily.

A migration file contains two methods up() and down().

up() is used to add new tables, columns, or indexes database and the down() is used to reverse the operations performed by the up method.

Example

                                                    

You can generate a migration & its file with the help of make:migration.

Syntax : php artisan make:migration blog

A current_date_blog.php file will be create in database/migrations

40. How to create custom validation rules with Laravel?
  • Run this php artisan make:rule OlympicYear
  • After that command it generates a file app/Rules/OlympicYear.php
  • We can write rule in the passes() in OlympicYear.php generated file. It will return true or false depending on condition, which is this in our case
    public function passes($attribute, $value)
    {
    return $value >= 1896 && $value <= date('Y') && $value % 4 == 0;
    }
  • Next, we can update error message to be this:
    public function message()
    {
    return ':attribute should be a year of Olympic Games';
    }
  • Finally, we use this class in controller's store() method we have this code:
    public function store(Request $request)
    {
    $this->validate($request, ['year' => new OlympicYear]);
    }
41. What is reverse Routing in Laravel?

Reverse routing is generated URL’s based totally on route. It makes our application so a lot greater flexible.

Example

                                                    

Route:: get(‘list’, ‘[email protected]’);
{{ HTML::link_to_action('[email protected]') }}

42. What is middleware in Laravel?

In Laravel, middleware operates as a bridge and filtering mechanism between a request and response. It verifies the authentication of the application users and redirects them according to the authentication results. We can create a middleware in Laravel by executing the following command.

Example: If a user is not authenticated and it is trying to access the dashboard then, the middleware will redirect that user to the login page.

Get ready to be answerable to this question. This is a favorite Laravel Interview Questions of many interviewers. Don’t let this question waste the opportunity. Read it twice.

Middleware in Laravel

Example

                                                    

// Syntax

php artisan make:middleware MiddelwareName

// Example
php artisan make:middleware UserMiddelware

Now UserMiddelware.php file will create in app/Http/Middleware

43. What is the difference between {{ $username }} and {!! $username !!} in Laravel?

{{ $username }} is simply used to display text contents but {!! $username !!} is used to display content with HTML tags if exists.

44. What is the use of the cursor() method in Laravel? The Eloquent cursor () method allows a user to iterate through the database records using a cursor, which will execute only a single query. This method is quite useful when processing large amounts of data to significantly reduce memory usage.
45. How to extend login expire time in Auth?

You can extend the login expire time with config\session.php this file location. Just update lifetime the value of the variable. By default it is 'lifetime' => 120. According to your requirement update this variable.

Example

                                                    

'lifetime' => 180

46. Which is better CodeIgniter or Laravel?

Here are some of the reasons why Laravel is considered to be better than CodeIgniter:

Laravel CodeIgniter
It supports Eloquent object-relational mapping ORM. It does not support ORM.
It has in-built modularity features. It requires users to create and maintain modules using Modular Extension.
It is straightforward to perform Database Schema Migration. There are no particular features to simplify Database Schema Migration.
It provides an in-built template engine, called Blade. It does not provide an in-built template engine.
It is easier to develop REST API. Developing REST API is complicated.
Allows developers to establish custom HTTP Routes. It does not support HTTP Routes completely.
47. What is PHP artisan in laravel? Name some common artisan commands?

Artisan is a type of the "command line interface" using in Laravel. It provides lots of helpful commands for you while developing your application. We can run these command according to our need.

Laravel supports various artisan commands like
  • php artisan list;
  • php artisan –version
  • php artisan down;
  • php artisan help;
  • php artisan up;
  • php artisan make:controller;
  • php artisan make:mail;
  • php artisan make:model;
  • php artisan make:migration;
  • php artisan make:middleware;
  • php artisan make:auth;
  • php artisan make:provider etc.;
48. Does Laravel support caching?

Yes, Laravel supports caching of popular backends such as Memcached and Redis.

49. What's New in Laravel 8?

Laravel 8.0 is incorporated with a number of latest features such as Laravel Jetstream, model directory, migration squashing, rate limiting improvements, model factory classes, time testing helpers, dynamic blade components and, much more. The Laravel 8.0 released on 8th September 2020 with the latest and unique features.

New Features in Laravel 8
  • Time Testing Helpers
  • Models Directory
  • Migration Squashing
  • Laravel Jetstream
  • Rate Limiting Improvements
  • Model Factory Classes
  • Dynamic Blade Components
50. How to make a constant and use globally?

You can create a constants.php page in config folder if does not exist. Now you can put constant variable with value here and can use with Config::get('constants.VaribleName');

Example

                                                    

return [
      'ADMINEMAIL' => '[email protected]',
];
Now we can display with
Config::get('constants.ADMINEMAIL');

51. What is Vapor in Laravel?

Vapor in Laravel is a serverless deployment platform auto-scaling and powered by AWS Lambda. It used to manage Laravel Infrastructure with the scalability and simplicity of serverless.

52. What is Singleton design pattern in laravel?

The Singleton Design Pattern in Laravel is one where a class presents a single instance of itself. It is used to restrict the instantiation of a class to a single object. This is useful when only one instance is required across the system. When used properly, the first call shall instantiate the object and after that, all calls shall be returned to the same instantiated object.

53. What is laravel contract?

Laravel contracts are a special set of interfaces used among multiple functionalities and other core services that are within the framework.

laravel interview questions

54. How to rollback a particular migration in laravel?

If you want to rollback a specific migration, look in your migrations table, you’ll see each migration table has its own batch number. So, when you roll back, each migration that was part of the last batch gets rolled back.

Use this command to rollback the last batch of migration

php artisan migrate:rollback --step=1

Now, suppose you only want to roll back the very last migration, just increment the batch number by one. Then next time you run the rollback command, it’ll only roll back that one migration as it is a batch of its own.

55. How do you run test cases in laravel?

To run test cases in Laravel, you should use the PHPUnit or artisan test command.

Example

                                                    

namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
     * @return void
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }
}

56. How to run job queue through command line in laravel?

You can run this Artisan Command php artisan queue:work --tries=3 OR --once --queue=JobQueueName

You can use both --tries or --once. When you will use --once then you command will execute singly and when you will use --tries=2 the it will execute two times and further.

57. How do you call Middleware in laravel?

In laravel, we can call multiple Middlewares in Controller file and route file.

1. In Controller file, you can call like this.

public function __construct() {
   $this->middleware(['revalidateBackHistory', 'validateUser']);
}

2. In route file, you can call multiple middleware like this.

Route::get('/', function () {
  //
})->middleware(['firstMiddle', 'secondMiddle']);

58. What are views?

Views contain the HTML provided by our application and separate our controller or application logic from our presentation logic. These are stored in the resources/views directory.

Example

                                                    
<html>
    <body>
       <h1>Best Interview Question<h1>
    </body>
</html>
59. What is Method Spoofing in Laravel?

Normal HTML forms do not support the PUT, PATCH, or DELETE actions. That's why while defining the PUT, PATCH or DELETE routes which are being called from an HTML form, you will have to add a hidden _method field to the form.

The value which is sent with the _method field will get used as the HTTP request method, like this:

Example

                                                    

<form action="/foo/bar" method="POST">

    <input type="hidden" name="_method" value="PUT">

    <input type="hidden" name="_token" value="{{ csrf_token() }}">

</form>

 To generate the _method input, you can use the @method Blade Directive, like this:

<form action="/foo/bar" method="POST">

    @method('PUT')

    @csrf

</form>

 This is called method spoofing in Laravel.

60. What is faker in Laravel?

Faker is a type of module or packages which are used to create fake data for testing purposes. It can be used to produce all sorts of data.

It is used to generate the given data types.

  • Lorem text
  • Numbers
  • Person i.e. titles, names, gender, etc.
  • Addresses
  • DateTime
  • Phone numbers
  • Internet i.e. domains, URLs, emails etc.
  • Payments
  • Colour, Files, Images
  • UUID, Barcodes, etc

In Laravel, Faker is used basically for testing purposes.

61. What are the advantages of Queue?
  • In Laravel, Queues are very useful for taking jobs, pieces of asynchronous work, and sending them to be performed by other processes and this is useful when making time-consuming API calls that we don’t want to make your users wait for before being served their next page.
  • Another advantage of using queues is that you don’t want to work the lines on the same server as your application. If your jobs involve intensive computations, then you don’t want to take risk those jobs taking down or slowing your web server.
62. What is tinker in laravel?

Laravel Tinker is a powerful REPL tool which is used to interact with Laravel application with the command line in an interactive shell. Tinker came with the release of version 5.4 is extracted into a separate package.

How to install tinker

composer require laravel/tinker

How to execute

To execute tinker we can use php artisan tinker command.

63. How to clear cache in Laravel?

Please run below artisan commands step wise step.

  • php artisan config:clear
  • php artisan cache:clear
  • composer dump-autoload
  • php artisan view:clear
  • php artisan route:clear
64. What is seed in laravel?

Laravel offers a tool to include dummy data to the database automatically. This process is called seeding. Developers can add simply testing data to their database table using the database seeder. It is extremely useful as testing with various data types allows developers to detect bugs and optimize performance. We have to run the artisan command make:seeder to generate a seeder, which will be placed in the directory database/seeds as like all others.

How to create database seeder

To generate a seeder, run the make:seeder Artisan command. All seeders generated by the laravel will be placed in the database/seeds directory:

php artisan make:seeder AdminTableSeeder

65. What is a REPL?

REPL is a type of interactive shell that takes in single user inputs, process them, and returns the result to the client.

The full form of REPL is Read—Eval—Print—Loop

66. How to use update query in Laravel?

With the help of update() function, we can update our data in the database according to the condition.

Example

                                                    

Blog::where(['id' => $id])->update([
   'title' => ’Best Interview Questions’,
   ‘content’ => ’Best Interview Questions’
]);

OR

DB::table("blogs")->where(['id' => $id])->update([
    'title' => ’Best Interview Questions’,
    ‘content’ => ’Best Interview Questions’
]);

67. How to use multiple OR condition in Laravel Query?

Blog::where(['id' => 5])->orWhere([‘username’ => ‘[email protected]’])->update([
    'title' => ‘Best Interview Questions’,
]);

68. Please write some additional where Clauses in Laravel?

Laravel provides various methods that we can use in queries to get records with our conditions.

These methods are given below
  • where()
  • orWhere()
  • whereBetween()
  • orWhereBetween()
  • whereNotBetween()
  • orWhereNotBetween()
  • wherein()
  • whereNotIn()
  • orWhereIn()
  • orWhereNotIn()
  • whereNull()
  • whereNotNull()
  • orWhereNull()
  • orWhereNotNull()
  • whereDate()
  • whereMonth()
  • whereDay()
  • whereYear()
  • whereTime()
  • whereColumn()
  • orWhereColumn()
  • whereExists()
69. How to use updateOrInsert() method in Laravel Query?

updateOrInsert() method is used to update an existing record in the database if matching the condition or create if no matching record exists.

Its return type is Boolean.

Syntax

DB::table(‘blogs’)->updateOrInsert([Conditions],[fields with value]);

Example

                                                    

DB::table(‘blogs’)->updateOrInsert(
     ['email' => '[email protected]', 'title' => 'Best Interview Questions'],
     ['content' => 'Test Content']
);

70. How to check table is exists or not in our database using Laravel?

We can use hasTable() to check table exists in our database or not.

Syntax

Schema::hasTable('users'); // here users is the table name.

Example

                                                    

if(Schema::hasTable('users')) {
   // table is exists
} else {
   // table is not exists
}

71. How to check column is exists or not in a table using Laravel?

if(Schema::hasColumn('admin', 'username')) ; //check whether admin table has username column
{
   // write your logic here
}

72. What are the difference between insert() and insertGetId() in laravel?

Inserts(): This method is used for insert records into the database table. No need the “id” should be autoincremented or not in the table.

Example

DB::table('bestinterviewquestion_users')->insert(
    ['title' => 'Best Interview Questions', 'email' => ‘[email protected]’]
);

It will return true or false.

insertGetId(): This method is also used for insert records into the database table. This method is used in the case when an id field of the table is auto incrementing.

It returns the id of current inserted records.

Example

$id = DB::table('bestinterviewquestion_users')->insert(
    ['title' => 'Best Interview Questions', 'email' => ‘[email protected]’]
);

73. What is the use of Accessors and Mutators?

Laravel accessors and mutators are customs, user-defined methods that allow you to format Eloquent attributes. Accessors are used to format attributes when you retrieve them from the database.

1. Defining an accessor

The syntax of an accessor is where getNameAttribute() Name is capitalized attribute you want to access.

public function getNameAttribute($value)
{
    return ucfirst($value);
}

 

2. Defining a mutator

Mutators format the attributes before saving them to the database.

The syntax of a mutator function is where setNameAttribute() Name is a camel-cased column you want to access. So, once again, let’s use our Name column, but this time we want to make a change before saving it to the database:

public function setNameAttribute($value)
{
    $this->attributes['name'] = ucfirst($value);
}

74. How to change your default database type in Laravel?

Please update 'default' => env('DB_CONNECTION', 'mysql'), in config/database.php. Update MySQL as a database whatever you want.

75. What is the latest version of laravel?

The latest version of Laravel is 7.0. It released on 3rd March 2020.

76. What are the basic concepts in laravel?

These are the most important concepts used in Laravel

  • Blade Templating
  • Routing
  • Eloquent ORM
  • Middleware
  • Artisan(Command-Line Interface)
  • Security
  • In built Packages
  • Caching
  • Service Providers
  • Facades
  • Service Container
77. What is eager loading in Laravel?

Eager loading is used when we have to fetch some useful data along with the data which we want from the database. We can eager load in laravel using the load() and with() commands.

78. What is lumen?

Lumen is a newly introduced micro PHP framework which is a faster, smaller and leaner version of a full web application framework. It is introduced by Taylor Otwell, the creator of Laravel. It uses the same components as Laravel, but especially for microservices.

It has a simple installer like Laravel. You have to use this command to install lumen.
composer global require "laravel/lumen-installer=~1.0"

79. How to upgrade form laravel 5 to laravel 6?
  • Open the laravel project inside the code editor.
  • Go to the Composer.json file and change the laravel/framework from 5 to 6.
  • Open the terminal and write the command – composer update and hit enter to wait for the update to complete.
  • After finished run the server command (PHP artisan serve) and run the project in a browser.
  • After this , again go to terminal and write command –(composer require laravel/ui) and hit enter and download the packages.
  • Then, for creating the auth file write the command ( PHP artisan ui vue-auth) to make the auth file in laravel 6.0.

In this way, we can upgrade from laravel 5 to laravel 6.

80. How to know laravel version?

You can use an artisan command php artisan --version to know the laravel version.

81. Why laravel is the best PHP framework in 2019?
  • Easy Installation
  • Supports MVC Architecture
  • Ensures high security
  • Modular Design
  • Object-Oriented Libraries
82. How do I stop Artisan serve in Laravel?

We can do it with 3 simple steps.

  • Press Ctrl + Shift + ESC. Locate the php system walking artisan and kill it with proper click -> kill process.
  • Reopen the command-line and begin again the server.
  • Note that you ought to be able to kill the manner just by using sending it a kill sign with Ctrl + C.
83. How to generate application key in laravel?

You can use php artisan key:generate to generate your application key.

84. How to use GROUP_CONCAT() with JOIN in Laravel?

Here is an example to understand the concept of using group_concat() to join in Laravel. We have 3 tables like "dynamic_forms", "dynamic_forms_mapping", "categories".

Example

                                                    

$list = DB::table('dynamic_forms')
      ->select("dynamic_forms.*" ,DB::raw("(GROUP_CONCAT(wf_categories.name SEPARATOR ', ')) as category"))
      ->leftjoin("dynamic_forms_mapping", "dynamic_forms_mapping.form_id","=","dynamic_forms.id")
      ->leftjoin("categories", "dynamic_forms_mapping.category_id","=","categories.id")
      ->groupBy('dynamic_forms.id')
      ->where('dynamic_forms.status', 1)
      ->get();

85. How to register service provider in laravel?

All the service providers get registered in the configuration file known as config/app.php. This is the file that contains the provider's array and here the user is able to list all the class names for the respective service providers. And by default, the set of service providers of Laravel core are listed inside this array. Now, these services providers bootstrap all the Laravel components that are core, like the mailer, cache, queue, and others. So, to register a required provider, add that provider to the array:

'providers' => [
    // Other Service Providers
    App\Providers\ComposerServiceProvider::class,
],

86. What is Implicit Controller in Laravel?

It allows us to easily define a single route to handle all activities in a controller. We can define the route using the Route::controller method:

87. What are the features of laravel?
  • Offers a rich set of functionalities like Eloquent ORM, Template Engine, Artisan, Migration system for databases, etc
  • Libraries & Modular
  • It supports MVC Architecture
  • Unit Testing
  • Security
  • Website built in Laravel is more scalable and secure.
  • It includes namespaces and interfaces that help to organize all resources.
  • Provides a clean API.
88. What are gates in laravel?

Laravel Gate holds a sophisticated mechanism that ensures the users that they are authorized for performing actions on the resources. The implementation of the models is not defined by Gate. This renders the users the freedom of writing each and every complex spec of the use case that a user has in any way he/she wishes. Moreover, the ACL packages can be used as well with the Laravel Gate. With the help of Gate, users are able to decouple access logic and business logic. This way clutter can be removed from the controllers.

89. How to rollback last migration in laravel?

You can use php artisan migrate:rollback --step=1.

90. What is Package in laravel? Name some laravel packages?

Developers use packages to add functionality to Laravel. Packages can be almost anything, from great workability with dates like Carbon or an entire BDD testing framework such as Behat. There are standalone packages that work with any PHP frameworks, and other specially interned packages which can be only used with Laravel. Packages can include controllers, views, configuration, and routes that can optimally enhance a Laravel application.

There are many packages are available nowadays also laravel has some official packages that are given below:-
  • Cashier
  • Dusk
  • Envoy
  • Passport
  • Socialite
  • Scout
  • Telescope etc
91. What is forge in Laravel?

Forge in Laravel is one tool that is used for deploying as well as configuring numerous web applications. This was created by the developers of the renowned Laravel framework, though this can be utilized for automating the deployment-related to any of the web application on the condition that these applications use the PHP server. Forge in Laravel automates each and every necessary installation as well as configuration step, which enables users to get their website up along with running quickly.

92. What is validation in laravel and how it is used?

Validation is the most important thing while designing an application. It validates the incoming data. It uses ValidatesRequests trait which provides a convenient method to authenticate incoming HTTP requests with powerful validation rules.

Here are some Available Validation Rules in Laravel are listed:-
  • Alpha
  • Image
  • Date Format
  • IP Address
  • URL
  • Numeric
  • Email
  • Size
  • Min , Max
  • Unique with database etc

You can read more about laravel validation rules from here

93. Is laravel good for API?

Laravel is an appropriate choice for PHP builders to use for building an API, especially when a project’s necessities are not exactly defined. It's a comprehensive framework suitable for any type of application development, is logically structured, and enjoys robust community support.

Laravel includes factors for not solely API development, but front-end templating and singe-page software work, and other aspects that are totally unrelated to only building a net utility that responds to REST Http calls with JSON.

94. How to extend a layout file in laravel view?

With this @extends('layouts.master') we can extend this master layout in any view file.

In this example layouts are a folder that is placed in resources/views available and the master file will be there. Now "master.blade.php" is a layout file.

These laravel questions will help you to crack your future interviews.

95. How to redirect form controller to view file in laravel?

We can use
return redirect('/')->withErrors('You can type your message here');
return redirect('/')->with('variableName', 'You can type your message here');
return redirect('/')->route('PutRouteNameHere');

96. How to use Ajax in any form submission?

Example

                                                    

<script type="text/javascript">

    $(document).ready(function() {

       $("FORMIDORCLASS").submit(function(e){

            // FORMIDORCLASS will your your form CLASS ot ID

            e.preventDefault();

       $.ajaxSetup({

            headers: {

                 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')

                // you have to pass in between tag

            }

    })

     var formData = $("FORMIDORCLASS").serialize();

    $.ajax({

          type: "POST",

         url: "",

         data : formData,

         success: function( response ) {

              // Write here your sucees message

         }, error: function(response) {

            // Write here your error message

         },

    });

    return false;

   });

});

</script>

99. How to pass multiple variables by controller to blade file?

$valiable1 = 'Best';

$valiable2 = 'Interview';

$valiable3 = 'Question';

return view('frontend.index', compact('valiable1', valiable2', valiable3'));

In you View File use can display by {{ $valiable1 }} or {{ $valiable2 }} or {{ $valiable3 }}

100. How to override a Laravel model's default table name?

We have to pass protected $table = 'YOUR TABLE NAME'; in your respective Model

Example

                                                    

namespace App;

use Illuminate\Database\Eloquent\Model;

class Login extends Model
{
    protected $table = 'admin';
    static function logout() {  
        if(session()->flush() || session()->regenerate()) {
            return true;
        }
    }
}

101. How to use Where null and Where not null eloquent query in Laravel?
Where Null Query

DB::table('users')->whereNull('name')->get();

Where Not Null Query

DB::table('users')->whereNotNull('name')->get();

102. What is ACL in laravel?

ACL Stands for Access Control List.
If you needed to control get entry to certain sections of the site, or flip on or off unique portions of a web page for non-admins, or ensure any person can only edit their very own contacts, you wanted to deliver in a device like BeatSwitch Lock or hand-roll the functionality, which would be something referred to as ACL: Access Control Lists or basically the capability to outline a persons' capability to do and see certain matters primarily based on attributes of their person record.

103. What is Queues?

Queues in Laravel are used by developers to create smooth application cycle by stacking complex tasks as jobs and dispatching these heavy jobs only with user permission or when it doesn’t disrupt the user experience.

You can visits here for more details : www.laravel.com

104. How to add multiple AND conditions in laravel query?

We can add multiple AND operator at in a single where() conditions as well as we can also add separate where() for particular AND condition.

Example

                                                    
DB::table('client')->where('status', '=', 1)->where('name', '=', 'bestinterviewquestion.com')->get();

DB::table('client')->where(['status' => 1, 'name' => 'bestinterviewquestion.com'])->get();

105. What is Blade laravel?

Blade is very simple and powerful templating engine that is provided with Laravel. Laravel uses "Blade Template Engine".

106. What is the use of event in laravel?

Events work as one great way in order to decouple several aspects of the application as one single event is able to have various listeners and these listeners are independent of each other. Events in Laravel render a streamlined observer implementation that enables users to subscribe plus listen for several events that happen in the application. The classes of events are generally stored in the Events or app directory, on the other hand, listeners are kept in either app or Listeners.

107. What is Pusher in Laravel?

Pusher is one hosted service with the help of which it has become immensely easy to add data of real-time along with functionality to the web as well as mobile applications. Laravel Pusher sits like one real-time layer among the servers and the clients. It manages persistent connections with the clients. Plus it also offers libraries for integration into all of the major runtimes as well as frameworks. PHP, Python, Ruby, Java, Node as well as Go on the servers plus JavaScript, Java (Android) on the clients and Objective-C (iOS).

108. What is broadcasting in laravel?

The Laravel 5.1 framework comprises functionality named broadcasting events. This new functionality makes it quite easy to build real-time applications in PHP. And with this, an app will be able to publish the events to a number of real-time cloud-based PubSub solutions, such as Pusher, or Redis. Also, with this functionality called the broadcasting events which is built into the Laravel 5.1, it now became easier creating real-time applications for the PHP developers. This latest real-time capability unbars numerous possibilities that were available only to applications written for the other platforms such as Node.js.

109. What is Horizon in Laravel 5?

Horizon in Laravel is the queue manager. It provides the user with full control of the queues, it renders the means for configuring how the jobs are processed and generates analytics, plus performs various tasks related to queue from within one nice dashboard.

110. What is Dusk in Laravel 5?

Dusk in Laravel renders one expressive and easy-to-use type of browser automation along with testing API. This By default does not demand to install the JDK or Selenium on the device. Instead, it uses one standalone installation of ChromeDriver. However, the users are free for utilizing any of the other compatible drivers of Selenium as per their wishes.

111. What is mix in Laravel?

Mix in Laravel renders one fluent API to define Webpack creation steps for the application of Laravel that uses various common CSS as well as JavaScript preprocessors. With the help of one easy method chaining, the user is able to fluently define the asset pipeline.

Example

                                                    

mix.js('resources/js/app.js', 'public/js') // You can also use your custom folder here
.sass('resources/sass/app.scss', 'public/css');

112. What is Gulp in laravel?

Gulp in Laravel is simply one implementation that targets to make it comfortable for the users who have recently acquainted themselves with the gulp in Laravel to be capable to manage their gulp file through adding the modules that work efficiently.

113. What is fillable in laravel model?

It is an array which contains all those fields of table which can be create directly new record in your Database table.

Example

                                                    

class User extends Model {
        protected $fillable = ['username', 'password', 'phone'];
}

114. What is Guarded Attribute in a Model ?

It is the reverse of fillable. When a guarded specifies which fields are not mass assignable.

Example

                                                    

class User extends Model {
     protected $guarded = ['user_type'];
}

 

115. How to get user details when he is logged in by Auth?

Example

                                                    

use Illuminate\Support\Facades\Auth;

$userinfo = Auth::user();

print_r($userinfo );

116. Is Laravel support caching? Explain

Yes, It supports caching like Memcached and Redis. By default, laravel is configured with file cache which is stores the serialized, cached objects in the files. Normally we can use Memcached or Redis for large projects.

117. How to check Ajax request in Laravel?

You can use the following syntax to check ajax request in laravel.
if ($request->ajax()) {
     // Now you can write your code here.
}

118. How to check if value is sent in request?

To check the email value is sent or not in request, you can use $request->has('email')

Example

                                                    

if($request->has('email')) {
     // email value is sent from request
} else {
    // email value not sent from request
}

119. What are string and array helpers functions in laravel?

Laravel includes a number of global "helper" string and array functions. These are given below:-

Laravel Array Helper functions
  • Arr::add()
  • Arr::has()
  • Arr::last()
  • Arr::only()
  • Arr::pluck()
  • Arr::prepend() etc
Laravel String Helper functions
  • Str::after()
  • Str::before()
  • Str::camel()
  • Str::contains()
  • Str::endsWith()
  • Str::containsAll() etc
120. How to exclude a route with parameters from CSRF verification?

You can cut out a route from CSRF verification by using adding the route to $except property at VerifyCsrfToken middleware.

Example

                                                    

protected $except = [
     'admin/*/edit/*'
];

Development History

Laravel was created by Taylor Otwell. Laravel's first beta version was released in June 2011. Laravel 2 was released in September 2011. Laravel 3 was released in February 2012. Laravel 4 was released in May 2013. The majority of candidates are asked this information in laravel interview questions. Laravel 8 was released on 8th September 2020.

Advantages of Laravel
  • It offers a rich set of functionalities.
  • Saves time.
  • The website built in Laravel is more scalable and secure.
  • Includes namespaces and interfaces that help to organize resources.
  • Provides a clean API.

You can visit our youtube video and this is very helpful in cracking your Laravel interview https://www.youtube.com/watch?v=WmwCBDx0fOk