Top Laravel Interview Questions and Answers

We provide the best compiled list  Top Laravel Interview Questions and Answers   for laravel frameworks developer. if you are looking to become expert as laravel developer then gone through this tutorials for Top Laravel Interview Questions and Answers 2018. Before going to attend the interview , read this given tutorials.



laravel interview questions for freshers and experienced


What is Laravel
It is free open source ,One of the best PHP framework (MVC) based on MVC Design Pattern That supports inbuilt authentication .
Laravel is developed by Taylor Otwell. It provides elegant syntax that helps in developing a smart web application easily and fast.

There are some below list of official packages provided by Laravel :

Cashier : Laravel Cashier provides an expressive, fluent interface to Stripe’s subscription billing services. It manage almost all of the boilerplate subscription billing code you are dreading writing. In addition to basic subscription management, Cashier can also handle coupons, swapping subscription, subscription “quantities”, cancellation grace periods, and even generate invoice PDFs also.

Envoy :Laravel Envoy provides a clean, minimal syntax for defining common tasks that we run on your remote servers. By Using the Blade style syntax, we can setup easily tasks for deployment, Artisan commands, and more and more. This time , Envoy supports the Mac and Linux operating systems.

Passport :Laravel makes API authentication a breeze using Laravel Passport, which provides a full OAuth2 server implementation for our Laravel application in minutes. It is built on top of the League OAuth2 server that is managed by Alex Bilbie.

Scout :Laravel Scout provides a simple, driver based solution to adding full-text search to our Eloquent models. Using model observers, It will automatically keep your search indexes in sync with our Eloquent records.

Socialite :Laravel Socialite provides an expressive, fluent interface to OAuth authentication with Facebook, Twitter, Google, LinkedIn, GitHub and Bitbucket. Socialite handles almost all of the boilerplate social authentication code you are dreading writing.

What is Lumen?

Lumen is PHP micro framework that built on top components of Laravel. It is created by Taylor Otwell.
It is the perfect option for building Laravel based micro-services and fast REST API’s.
It’s one of the fastest micro-frameworks available.

There are some advantages of Laravel then another Php frameworks ?

There are Top benifits of laravel framework

Setup and customization process is very easy , relevant and fast as compared to another.
Inbuilt Authentication System.
Supports multiple file systems.
Pre-loaded packages like Laravel Socialite, Laravel cashier, Laravel elixir,Passport,Laravel Scout.
Eloquent ORM (Object Relation Mapping) with PHP active record implementation.
Built in command line tool ‘Artisan’ for creating a code skeleton ,database structure and build their

There are some latest features of Laravel Framework.

Inbuilt CRSF (cross-site request forgery ) Protection.
Laravel provided an easy way to manage to protect our website from cross-site request forgery (CSRF) attacks.
Cross-site request forgeries are malicious attack that forces an end user to execute unwanted actions on a website in which they’re currently authenticated.

Inbuilt paginations Laravel provides an easy approach to implement paginations in our code.Laravel’s paginator is integrated with the query builder and Eloquent ORM and provides convenient, easy-to-use pagination of database.

Reverse Routing:
In Laravel reverse routing is generating URL’s based on route declarations.It makes our code so much more flexible.

Query builder:
Laravel’s database query builder provides a convenient, fluent interface to creating and running database queries. It can be used to perform most database operations in your application and works on all supported database systems.

The Laravel query builder uses PDO parameter binding to protect your application against SQL injection attacks. There is no need to clean strings being passed as bindings. read more

Route caching:

Database Migration:

IOC (Inverse of Control) Container Or service container.

What is composer ?

Composer is PHP dependency manager , It is used for installing dependencies for different PHP applications.
It allows us to declare the libraries for our project, which depends on and it and will manage (install/update) them for us.

It provides us a good way to reusability code. Rather than all of us reinventing the wheel over and over, we can instead download popular packages.

How to install Laravel via composer ?

Run below command to install Laravel with composer

composer create-project Laravel/Laravel your-project-name version

Define the php artisan. write some artisan commands

PHP artisan is the command line interface/tool in Laravel. Artisan provides a number of helpful commands that can help us while us build your application easily.

There are below some artisan commands
php artisan list
php artisan help
php artisan tinker
php artisan make
php artisan –versian
php artisan make model model_name
php artisan make controller controller_name

How to check current installed version of Laravel ?

php artisan –version

List some Aggregates methods provided by query builder in Laravel ?

Aggregate function is a function where the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning or measurements such as a set, a bag or a list

Below is list of some Aggregates methods provided by Laravel query builder.


Usage:$products = DB::table(‘products’)->count();


Usage:$price = DB::table(‘orders’)->max(‘price’);


Usage:$price = DB::table(‘orders’)->min(‘price’);


Usage:$price = DB::table(‘orders’)->avg(‘price’);


Usage: $price = DB::table(‘orders’)->sum(‘price’);

Explain Events in Laravel ?

An event is an incident or occurrence detected that is handled by the program.Laravel event provides a simple observer implementation, that allow us to subscribe and listen for events in our application.An event is an incident or occurrence detected and handled by the program.Laravel event provides a simple observer implementation, that allows us to subscribe and listen for events in our application.

There are below some events example in Laravel:-

A new user has registered

A new comment is posted

User login/logout

New product is added.

How to turn off CRSF protection for a route in Laravel ?

To turn off or diasble CRSF protection for specific routes in Laravel open “app/Http/Middleware/VerifyCsrfToken.php” file and add following code in it

//add this class
private $exceptUrls = [‘controller/route1’, ‘controller/route2’];

//modify function

public function handle($request, Closure $next)

//add this condition
foreach($this->exceptUrls as $route) {

if ($request->is($route)) {

return $next($request);


return parent::handle($request, $next);}

What are ‘php artisan’ in the command line?

‘PHP artisan’ is lists of a few dozen different command options.

Which template engine used in Laravel ?

Laravel uses Blade Templating Engine.

Laravel Blade is the simple, powerful templating engine provided with Laravel. Unlike another other popular PHP templating engines, Blade does not restrict you from using plain PHP code in your views. In fact, all Blade views are compiled into plain PHP code and cached until they are modified, meaning Blade adds essentially zero overhead to your application. Blade view files use the .blade.php file extension and are typically stored in the resources/views directory.

How can we change our default database type ?

By default, Laravel is configured to use MySQL.In order to change your default database edit your config/database.php and search for ‘default’ => ‘mysql’ and change it to whatever you want (like ‘default’ => ‘sqlite’).

Explain Migrations in Laravel ? How to generate migration ?


Laravel Migrations are like version control for our database, allowing a team to easily modify and share the application’s database schema. Migrations are typically paired with Laravel’s schema builder to easily build your application’s database schema.

Steps to Generate Migrations in Laravel

To create a migration, use the make:migration Artisan command
When you create a migration file, Laravel stores it in /database/migrations directory.
Every migration file name contains a timestamp which allows Laravel to decide the order of the migrations.
Open the command prompt or terminal depending on your operating system.

What are service providers in laravel ?

Service providers are the central place of all Laravel application bootstrapping. Our own application, as well as all of Laravel’s core services are bootstrapped via service providers.

Service provider basically registers event listeners, middleware, routes to Laravel’s service container.
All service providers need to be registered in providers array of app/config.php file.

How do you register a Service Provider?

To register a service provider follow below steps

Open to config/app.php
Find ‘providers’ array of the various ServiceProviders.
Add namespace ‘Iluminate\Abc\ABCServiceProvider:: class,’ to the end of the array.

What are Implicit Controllers ?

Implicit Controllers allow us to define a single route to handle every action in the controller. You can define it in route.php file with Route: controller method.

Usage :

Route::controller(‘base URI’,”);

What does “composer dump-autoload” do?

Whenever we run “composer dump-autoload”
Composer re-reads the composer.json file to build up the list of files to autoload.

Describe Laravel service container ?

One of the most powerful feature of Laravel is its Service Container .
It is a powerful tool for resolving class dependencies and performing dependency injection in Laravel.
Dependency injection is a fancy phrase that essentially means class dependencies are “injected” into the class via the constructor or, in some cases, “setter” methods.

How to get users IP address in Laravel ?


public function getUserIp(Request $request){
// Getting ip address of remote user
return $user_ip_address=$request->ip();


How to enable query log in Laravel?
$queries = DB::getQueryLog();

Define the Laravel Facades ?

Laravel Facades provides a static like interface to classes that are available in the application’s service container.

Laravel self ships with many facades which provide access to almost all features of Laravel’s.
Laravel Facades serve as “static proxies” to underlying classes in the service container and provides benefits of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods of classes. All of Laravel’s facades are defined in the IlluminateSupportFacades namespace. You can easily access a Facade like so:

use IlluminateSupportFacadesCache;
Route::get(‘/cache’, function () {
return Cache::get(‘key’);

How to use custom table in Laravel Model ?

We can use custom table in Laravel by overriding protected $table property of Eloquent. Below is sample uses

class User extends Eloquent{
protected $table=”my_custom_table”;


How can you define Fillable Attribute in a Laravel Model ?
It could be define fillable attribute by overiding the fillable property of Laravel Eloquent.

Example :

Class User extends Eloquent{
protected $fillable =array(‘id’,’first_name’,’last_name’,’age’);

What is the purpose of the Eloquent cursor() method in Laravel ?
The cursor method allows you to iterate through your database records using a cursor, which will only execute a single query. When processing large amounts of data, the cursor method may be used to greatly reduce your memory usage.

Example Usage

foreach (Product::where(‘name’, ‘bar’)->cursor() as $flight) {

//do some stuff


What are Closures in laravel ?
Closures are an anonymous function. It can be assigned to a variable or passed to another function as an argument.A Closures can access variables outside the scope that it was created.

What is Kept in vendor directory of Laravel ?

Any packages that are pulled from composer is kept in vendor directory of Laravel.

What are Laravel Contracts ?
Laravel’s Contracts are nothing but set of interfaces that define the core services provided by the Laravel framework.

Where controllers are located in Laravel ?
We kept all controllers in App/Http/Controllers directory

what is ORM ?
Object-relational Mapping (ORM) is a programming technique for converting data between incompatible type systems in object-oriented programming languages.

How to create a record in Laravel using eloquent ?
To create a new record in the database using Laravel Eloquent, simply create a new model instance, set attributes on the model, then call the save method: Here is sample Usage.

public function saveProduct(Request $request )
$product = new product;
$product->name = $request->name;
$product->description = $request->name;

How to get Logged in user info in Laravel ?
Auth::User() function is used to get Logged in user info in Laravel.



Whether Laravel support caching or not?

Yes, Laravel supports popular caching backends like Memcached and Redis.
By default, Laravel is configured to use the file cache driver, which stores the serialized, cached objects in the file system .For large projects it is recommended to use Memcached or Redis.

What are named routes in Laravel ?

Named routing is another amazing feature of Laravel framework. Named routes allow referring to routes when generating redirects or Url’s more comfortably.
You can specify named routes by chaining the name method onto the route definition:

Route::get(‘user/profile’, function () {

You can specify route names for controller actions:

Route::get(‘user/profile’, ‘UserController@showProfile’)->name(‘profile’);

Once you have assigned a name to your routes, you may use the route’s name when generating URLs or redirects via the global route function:

// Generating URLs…
$url = route(‘profile’);

// Generating Redirects…
return redirect()->route(‘profile’);

What are traits in Laravel ?


Laravel Traits are simply a group of methods that you want include within another class. A Trait, like an abstract classes cannot be instantiated by itself.Trait are created to reduce the limitations of single inheritance in PHP by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies.
Here is an example of trait.

trait Sharable {

public function share($item)
return ‘share this item’;

You could then include this Trait within other classes like this:

class Post {

use Sharable;


class Comment {

use Sharable;

Now if you were to create new objects out of these classes you would find that they both have the share() method available:
$post = new Post;
echo $post->share(”); // ‘share this item’

$comment = new Comment;
echo $comment->share(”); // ‘share this item’

How to create migration via artisan ?

Use below commands to create migration data via artisan.

// creating Migration
php artisan make:migration create_users_table

What is validations in laravel?

In Programming validations are a handy way to ensure that your data is always in a clean and expected format before it gets into your database. Laravel provides several different ways to validate your application incoming data.By default Laravel’s base controller class uses a ValidatesRequests trait which provides a convenient method to validate all incoming HTTP requests coming from client.You can also validate data in laravel by creating Form Request.

What is Laravel Eloquent ?

Laravel’s Eloquent ORM is one of the most popular PHP ORM (OBJECT RELATIONSHIP MAPPING).
It provides a smart, easy ActiveRecord implementation to work with your database.
In Eloquent each database table has the corresponding MODEL that is used to interact with table and perform a database related operation on the table.
Sample Model Class in Laravel.

namespace App;

use Illuminate\Database\Eloquent\Model;

class Users extends Model


What are Types of relationships supported by Laravel ?

It support 7 types of table relationships, That are given below:
One To One
One To Many
One To Many (Inverse)
Many To Many
Has Many Through
Polymorphic Relations
Many To Many Polymorphic Relations

Explain Laravel Query Builder ?

Laravel’s database query builder provides a suitable, easy interface to creating and organization database queries. It can be used to achieve most database operations in our application and works on all supported database systems. The Laravel query planner uses PDO restriction necessary to keep our application against SQL injection attacks.

What is Laravel Elixir ?
Laravel Elixir provides a clean, fluent API for defining basic Gulp tasks for your Laravel application. Elixir supports common CSS and JavaScript preprocessors like Sass and Webpack. Using method chaining, Elixir allows you to fluently define your asset pipeline.

How to enable maintenance mode in Laravel 5 ?
//enable maintenance mode
php artisan down
//disable maintenance mode
php artisan up

Figure out Databases Laravel supports ?

Presently, Laravel supports four major databases, they are :-

SQL Server
How to get current environment in Laravel 5 ?

We can access the current application environment via the environment method.

$environment = App::environment();

What is the purpose of using dd() function laravel ?

Laravel’s dd() is a helper function ,which will dump a variable’s contents to the browser and stop further script execution.

What is Method Spoofing in Laravel ?

As HTML forms does not supports PUT, PATCH or DELETE request. So, when defining PUT, PATCH or DELETE routes that are called from an HTML form, you will need to add a hidden _method field to the form on every request. The value sent with the _method field will be used as the HTTP request method:

<form action=”/foo/bar” method=”POST”>
<input type=”hidden” name=”_method” value=”PUT”>
<input type=”hidden” name=”_token” value=”{{ csrf_token() }}”>

How to assign multiple middleware to Laravel route ?

It could be assign multiple middleware to Laravel route by using middleware method.

// Assign multiple multiple middleware to Laravel to particular route

Route::get(‘/’, function () {
})->middleware(‘firstMiddleware’, ‘secondMiddleware’);

// Assign multiple multiple middleware to Laravel to route groups

Route::group([‘middleware’ => [‘firstMiddleware’,’secondMiddleware’]], function () {

How to display HTML with Blade in laravel?
{!! $your_var !!}

Leave a Reply

Your email address will not be published. Required fields are marked *