PHP is one of the most popular server side scripting language which is used for web development. As stated in  currently more than 82% of websites are powered by PHP and with the release of a new version (PHP 7), PHP becomes more stable and better than its previous version.
Using PHP a developer has multiple choices to choose one out of multiple frameworks, CMS and other tools to develop an application. There are various frameworks available for developing an application using PHP. Yii, Cake, Zend, Codeigniter and many more are the popular frameworks of PHP. In this article I am trying to provide an introduction of Laravel which is one of the most famous and powerful PHP frameworks.
Laravel is one of the most popular PHP framework which is also known as "PHP framework for Web Artisans" created by Taylor Otwell. It is a free, open-source framework with an MIT License. Laravel is based on the Model–View–Controller (MVC) architectural pattern and makes the development process easier by incorporating most of the useful features which are found in other frameworks.
In a very less time Laravel become the most popular PHP frameworks among PHP developers. Below figure shows the increasing popularity of Laravel in the past few years according to Google Trends.
As stated in  Laravel was developed as an alternative to CodeIgniter with some advance features such as user authentication and authorization. The first version of Laravel framework released on June 2011.
In June 2015 Laravel 5.1, released with long-term support (LTS). Current latest version of Laravel framework is Laravel 5.5, which was released on August 2017. The table below provides a summary of different versions and the features introduced in each version, full details are provided in .
June 9, 2011
Added support for authentication, localisation, models, views, sessions, routing and other mechanisms.
Fully MVC-compliant framework and introduced Blade templating engine.
Introduced Artisan command-line interface, built-in support for more database management systems, database migrations, support for handling events, and a packaging system called Bundles.
A major release with support for message queue, database seeding, built-in support for sending different types of email.
Add support for job Scheduler, Flysystem, assets packaging using Elixir and Socialite package.
First released version with long-term support (LTS), Bug fixes and security patches.
August 23, 2016
Additional out of the box improvements for common tasks to improve development speed.
January 24, 2017
Introduced new features like Laravel Dusk, Laravel Mix, Blade Components and Slots, Markdown Emails, Automatic Facades, Route Improvements, Higher Order Messaging in Collections, and many others.
August 30, 2017
Table : Different versions of Laravel
Laravel Features :
Following are the key features of laravel framework :
1. In Built Authentication: Authentication system is the most required and important section of any web application which takes enormous time of developer in writing code for Authentication system. Laravel 5 comes with inbuilt authentication, which is easy to use and save a lot of development time. "Socialite" is an additional package which provides an authentication mechanism for different OAuth providers such as Google, Facebook etc.
2. Database Tools: Laravel provides a suite of tools for managing and interacting with databases. Database migrations provides a version control system for database schemas which helps to expand the web application database structure. This feature enables developers to easily create and made changes on a database structure in a platform-independent way.
Eloquent ORM(object-relational mapping) is an Active Record implementation which is used to interact with database in an object-oriented manner. Eloquent allows the developers to perform CRUD operations without using SQL code. It also provides powerful relationship management and also provides automatic pagination.
3. Blade Template Engine: Laravel framework is highly recognized for its Blade view template engine which helps developers to create amazing views using one or more templates with a data model by seeding dynamic content. The Blade also consists its own set of control structures.
4. Artisan: Laravel also offers a command line interface tool known as an Artisan. It helps developer to perform many repetitive and tedious tasks which takes a lot of time to perform manually. It can be used to run different commands for performing different types of tasks such as running database migration, executing unit tests and schedule jobs. In addition, it can also be used for generating MVC files. Another feature of Artisan is its extensibility, which allows developers to add their own commands to perform the functionality they like to do.
5. Routing: Laravel provides flexibility to organise all applications URLs using routes. All routes are defined in a single inside routes folder such as web.php for web application routes, which is automatically loaded by Laravel framework. Single file makes easier to change the links for application or APIs. Reverse routing is a greatest feature in Laravel routing system which creates a relationship between routes and URI. It allows to create links by just using the route name and Laravel will automatically insert the appropriate URI.
6. Unit Testing: Laravel provides the support for developers to test their code in the best way possible. It provides support for testing with PHPUnit. Laravel allows users to write unit tests for their own code and perform testing by using the Artisan command line tool. The framework itself also contains a number of unit tests to ensure application stability.
7. Security: Security is the most concern issue in web application development. Laravel frameworks provides the best way to handle the security of applications. It uses Bcrypt hashing algorithm to generate encrypted passwords and used prepared SQL statements to avoid SQL injection attacks.
The features listed above are some of the features which Laravel incorporates and makes it most popular and preferred PHP framework among developers. This framework can be used to develop any kind of web applications. Also Laracasts video series of Laravel videos and its documentation make it easier to learn development. This article is intended to provide an overview of Laravel and its features, In the next article we will see the system requirements and the installation process.
There are lots of resources available on the internet for learning about Laravel Framework, Below is the list of some useful resources which can be helpful to learn development using Laravel.