What is Laravel? What are the Main Features?
Created by Taylor Otwell as a free open-source PHP web framework, Laravel is meant to ease and accelerate the development process of web applications with a great taste for simplicity. It follows the model–view–controller (MVC) architectural pattern as well as the PSR-2 coding standard, and the PSR-4 autoloading standard. Running a Test Driven Development (TDD) in Laravel is fun and easy to implement.
Hosted on GitHub and available at https://github.com/laravel/laravel, Laravel boasts of a microservices architecture, making it tremendously extendable and this, with ease, with the use of custom-made and or existing third-party packages.
Basic Building Blocks
MVC
Laravel uses the MVC model, therefore there are three core-parts of the framework which work together: models, views and controllers. Controllers are the main part where most of the work is done. They connect to models to get, create or update data and display the results on views, which contain the actual HTML structure of the application.
Blade Templating Engine
Laravel is shipped with a templating engine known as Blade. Blade is quite easy to use, yet, powerful. One feature the Blade templating engine does not share with other popular ones is her permissiveness; allowing the use of plain PHP code in Blade templating engine files. It is important to note that Blade templating engine files have .blade appended to file names right before the usual .php which is nothing other than the actual file extension. As such, .blade.php is the resulting file extension for Blade template files. Blade template engine files are stored in the resources/views directory.
Routing & Middleware
You can define the URLs of your application with the help of routes. These routes can contain variable data, connect to controllers or can be wrapped into middlewares. Middelware is a mechanism for filtering HTTP requests. They can be used to interact with requests before they reach the controllers and can thus modify or reject requests.
Artisan
Artisan is the command line tool you can use to control parts of Laravel. There are a lot of commands available to create models, controllers and other resources needed for development. You can also write your own commands to extend the Artisan command line tool.
Eloquent ORM
To connect your models to various types of databases, Laravel offers its own ORM with a large set of functions to work with. The framework also provides migration and seeding and also features rollbacks.
Event Handling
The framework is capable of handling events across the application. You can create event listeners and event handlers that are similar to the ones from NodeJs.
Laravel Installation and Control
- Get composer from here and install it
- Get Wamp from here, install it and set environment variable of PHP
- Get path to www and type command:
composer create-project — prefer-dist laravel/laravel projectname
To install a specific Laravel version, get path to www and type command:
composer create-project — prefer-dist laravel/laravel=DESIRED_VERSION projectname
/OR/ Via Laravel Installer
First, download the Laravel installer using Composer:
composer global require “laravel/installer”
Make sure to place the $HOME/.composer/vendor/bin directory (or the equivalent directory for your OS) in your $PATH so the laravel executable can be located by your system.
Once installed, the laravel new command will create a fresh Laravel installation in the directory you specify. For instance, laravel new blog will create a directory named blog containing a fresh Laravel installation with all of Laravel’s dependencies already installed:
laravel new blog