Introduction to Laravel – Part 1 of 3

Laravel. What's that all about?

Laravel is a framework implementing the MVC System Architecture (Model, View, Controller). This means that all requests, e.g. loading a page, are sent to a controller which will then collect the correct models and map them to a view. This is the de facto system architecture for large or small web apps due to its flexibility and extensibility. Later in this series we will be going into more detail about what it can be tailored to do.

The framework was created by Taylor Otwell and has been in development since 2011, in the 7 Years since its conception it has become one of the largest and most widely used PHP Based frameworks available. This is mainly due to its user and developer friendliness as well as its extensibility. Since 2011 the framework has been constantly expanded and extended to include many features out of the box, such as:

  • Session and Token Based Authentication
  • Eloquent ORM
  • CSRF Protection
  • Customisable Middleware
  • Events System
  • File Storage
  • Caching
  • Sessions
  • Email Support
  • Email and Text Notifications

These are just some of the out of the box features available with Laravel, and as mentioned we will be going into more detail about what it offers out of the box later in this series.

On top of the included functionality Laravel uses a package management system called Composer, this system allows its use to be easily extended by editing a few files. For example, adding a new package will take a single command and a single config file edit. This way of extending it has allowed developers to create some truly amazing web apps, from small blogging systems to a fully functioning CMS (Content Management System) or a Loans Calculator, Laravel can be used to solve just about any problem.

Examples of Laravel Web Apps

Here are a few examples of what it has been used for:

Asgard CMS

This is a fully functioning CMS built on Laravel and being a modular CMS this allows Asgard CMS to be extended to fit any requirements.

Neighbourhood Lender

This is a website for loans an it has a mortgage calculator which showcases some of the functionality available in Laravel out of the box.