Laravel is a free and open-source PHP web framework available on GitHub and licensed under the terms of MIT License. It was created by Taylor Otwell and designed with the objective of enabling rapid development of web applications following the model–view–controller (MVC) architectural pattern. It has gained a lot of traction over the years and is now the most starred PHP framework on GitHub.
Some of the main features found in Laravel are different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and a modular packaging system with a dedicated dependency manager. Laravel also simplifies a lot of common tasks found in web development and provides out of the box solutions for things like authentication, routing, and queues, allowing you to focus on your application. If you are a Mac user, you can install Valet as a development environment which is build for Laravel.
Because Laravel is open-source, the community around it is very strong and the documentation is top-notch and example driven. Take a look at the official documentation to get a glimpse of how easy it is to use!
Ready-to-use bundles provided by Laravel through Composer and Packagist include the following:
- Cashier - introduced in Laravel 4.2, provides an interface for managing subscription billing services provided by Stripe, such as handling coupons and generating invoices.
- SSH - introduced in Laravel 4.1, allows programmatic execution of CLI commands on remote servers using the Secure Shell (SSH) as an encrypted network protocol.
- Scheduler - introduced in Laravel 5.0, is an addition to the Artisan command-line utility that allows programmatic scheduling of periodically executed tasks. Internally, Scheduler relies on the cron daemon to run a single Artisan job that, in turn, executes the configured tasks.
- Flysystem - introduced in Laravel 5.0, is a file system abstraction layer that allows local file systems and cloud-based storage services provided by Amazon S3 and Rackspace Cloud to be used transparently and in the same way.
- Socialite - introduced in Laravel 5.0 as an optional package, provides simplified mechanisms for authentication with different OAuth providers, including Facebook, Twitter, Google, GitHub and Bitbucket.
Top Six Features of Laravel 5.0.1 Framework Most Useful for the Enterprise App Development
- Entirely new directory structure
- Route caching
- Inbuilt Authentication System
- Multiple file system support
- Improved method injection
One of the most powerful features of Laravel is the ecosystem of tools and extensions that surrounds it.
These features include a range of services and software, some created by Laravel and some by the wider developer community:
- Forge - server management
- Envoyer - deployment
- Horizon - queues / monitoring
- Lumen - fast micro-framework
- Nova - administration panel
- Spark - application boilerplate / scaffolding
- Echo - broadcasting / websockets
- Homestead - virtual dev environment
- Cashier - subscription billing
- Valet - Mac dev environment
- Mix - build / asset compiling
- Eloquent ORM - database model
- Cachet - status page system
- Statamic - CMS
The Laravel framework has a few system requirements. Of course, all of these requirements are satisfied by the Laravel Homestead virtual machine, so it's highly recommended that you use Homestead as your local Laravel development environment.
However, if you are not using Homestead, you will need to make sure your server meets the following requirements:
- PHP >= 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
Laravel utilizes Composer to manage its dependencies. Before using Laravel, make sure you have Composer installed on your machine.
Via Laravel Installer
First, download the Laravel installer using Composer:
> composer global require laravel/installer
Make sure to place composer's system-wide vendor bin directory in your
$PATH variable so the laravel executable can be located by your system. This directory exists in different locations based on your operating system; however, some common locations include:
- GNU / Linux Distributions:
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
Via Composer Create-Project
Alternatively, you may also install Laravel by issuing the Composer create-project command in your terminal:
> composer create-project --prefer-dist laravel/laravel blog
Local Development Server
If you have PHP installed locally and you would like to use PHP's built-in development server to serve your application, you may use the Artisan
serve command. This command will start a development server at
> php artisan serve
Of course, more robust local development options are available via Homestead and Valet.
For details visit LARAVEL HOME.