Introduction to Laravel

Laravel is an open source PHP framework. Framework is a tool which is used to make modern, fast and scalable products. Laravel is based on model–view–controller (MVC) architectural pattern. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.


The Model-View-Controller (MVC) is an pattern which separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application. MVC is one of the most frequently used industry-standard web development framework to create scalable and extensible projects.

MVC Structure

Basic MVC Architecture. Model View Controller or MVC as it is popularly called, is a software design pattern for developing web applications.

A Model View Controller pattern is made up of the following three parts −

  • Model − The lowest level of the pattern which is responsible for maintaining data.
  • View − This is responsible for displaying all or a portion of the data to the user.
  • Controller − Software Code that controls the interactions between the Model and View.

MVC isolates the application logic from the user interface layer and supports separation of concerns.

Here the Controller receives all requests for the application and then works with the Model to prepare any data needed by the View.

The View then uses the data prepared by the Controller to generate a final presentable response.

The MVC abstraction can be graphically represented as follows:-

Struts MVC

Setting up Laravel

For setting up a laravel we need to install composer in our device and then we have to open a terminal and run the following command:

composer global require laravel/installer

Once it’s done, you can create a fresh Laravel project with the laravel new command in the directory you’re in.

In your terminal go to the root of your webserver and run

laravel new your_project_name

Artisan Command

Artisan is the command line interface included with Laravel. Artisan exists at the root of your application as the artisan script and provides a number of helpful commands that can assist you while you build your application. To view a list of all available Artisan commands, you may use the list command:

php artisan list

Laravel Framework 5.8.38

command [options] [arguments]

-h, –help Display this help message
-q, –quiet Do not output any message
-V, –version Display this application version
–ansi Force ANSI output
–no-ansi Disable ANSI output
-n, –no-interaction Do not ask any interactive question
–env[=ENV] The environment the command should run under
-v|vv|vvv, –verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:

clear-compiled – Remove the compiled class file
down – Put the application into maintenance mode
dump-server – Start the dump server to collect dump information.
env – Display the current framework environment
help – Displays help for a command
inspire – Display an inspiring quote
list – Lists commands
migrate – Run the database migrations
optimize – Cache the framework bootstrap files
preset – Swap the front-end scaffolding for the application
serve – Serve the application on the PHP development server
tinker – Interact with your application
up – Bring the application out of maintenance mode

app:name – Set the application namespace

auth:clear-resets Flush expired password reset tokens

cache:clear Flush the application cache
cache:forget Remove an item from the cache
cache:table Create a migration for the cache database table

config:cache Create a cache file for faster configuration loading
config:clear Remove the configuration cache file

db:seed Seed the database with records

event:cache Discover and cache the application’s events and listeners
event:clear Clear all cached events and listeners
event:generate Generate the missing events and listeners based on

event:list List the application’s events and listeners

key:generate Set the application key

make:auth Scaffold basic login and registration views and routes
make:channel Create a new channel class
make:command Create a new Artisan command
make:controller Create a new controller class
make:event Create a new event class
make:exception Create a new custom exception class
make:factory Create a new model factory
make:job Create a new job class
make:listener Create a new event listener class
make:mail Create a new email class
make:middleware Create a new middleware class
make:migration Create a new migration file
make:model Create a new Eloquent model class
make:notification Create a new notification class
make:observer Create a new observer class
make:policy Create a new policy class
make:provider Create a new service provider class
make:request Create a new form request class
make:resource Create a new resource
make:rule Create a new validation rule
make:seeder Create a new seeder class
make:test Create a new test class

migrate:fresh Drop all tables and re-run all migrations
migrate:install Create the migration repository
migrate:refresh Reset and re-run all migrations
migrate:reset Rollback all database migrations
migrate:rollback Rollback the last database migration
migrate:status Show the status of each migration
notifications:table Create a migration for the notifications table
optimize:clear Remove the cached bootstrap files

package:discover Rebuild the cached package manifest
queue:failed List all of the failed queue jobs
queue:failed-table Create a migration for the failed queue jobs database table
queue:flush Flush all of the failed queue jobs
queue:forget Delete a failed queue job
queue:listen Listen to a given queue
queue:restart Restart queue worker daemons after their current job
queue:retry Retry a failed queue job
queue:table Create a migration for the queue jobs database table
queue:work Start processing jobs on the queue as a daemon

route:cache Create a route cache file for faster route registration
route:clear Remove the route cache file
route:list List all registered routes

schedule:run Run the scheduled commands

session:table Create a migration for the session database table

storage:link Create a symbolic link from “public/storage” to “storage/app/public”

vendor:publish Publish any publishable assets from vendor packages

view:cache Compile all of the application’s Blade templates
view:clear Clear all compiled view files

Joydeep M
Latest posts by Joydeep M (see all)