Join Joseph Lowery for an in-depth discussion in this video Understanding Laravel, part of Learning Laravel 4 (2014).
You've probably heard the Isaac Newton quote, "If I've seen further, "it is by standing on the shoulders of giants." Well, think of Laravel as a sleek, modern PHP framework that stands on a crowd of giants to create highly readable, modular web applications that are actually fun to code. Before we dive into working with Laravel, let's take a few moments to get a better understanding of what it is, how it works, and why you should consider integrating it into your workflow.
Laravel is a PHP framework for web applications. It was initially developed by Taylor Otwell and first released in February 2012 as a free open source project under MIT license. More specifically, Laravel is an MVC framework. MVC is short for Model-View-Controller, which is a software structure with an emphasis on modularity.
Each of the three component parts of an MVC framework like Laravel, has a particular role. The model is the application data and functions. The view is the representation of the output, like an HTML page. And the controller handles the interaction between the user, as well as the other two components of the structure, model and view. For me, one of the most attractive aspects of Laravel is its real-world foundation.
It recognizes that most web applications frequently require commonly used functions. To that end, Laravel includes, among many others, authentication for verifying users and handling access to web pages and segments properly. Routing for directing URI and other requests efficiently whether within the app or without. Database management, as well as input and output control, and sending mail, whether as just text or HTML with inline or external attachments.
One of the reasons developers are finding Laravel so compelling is that it's built on a strong foundation of components that are arguably the best in their class. Or as I called them in the course introduction, giants. One of those giants is Symfony. Used by Laravel to provide core PHP functionality such as browser simulation, file system access and debugging. Befitting a modular framework, each Laravel project depends on a wide range of code packages, which are all handled by Composer, a PHP dependencies manager with hundreds of packages available.
Following object-oriented best practices, Laravel's database management relies on Eloquent ORM, an object relational mapper providing Ruby on Rails-like migration. We'll take a more in-depth look at each of these components in the next lesson.
- Installing Laravel
- Handling testing
- Establishing an HTML view
- Connecting to a database
- Enabling version control
- Setting up-and-running unit tests