Modern Web Development with Laravel 5.2 (PHP Framework)

Prepare yourself for a career as web developer - Build two major projects in this course
4.5 (428 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,559 students enrolled
$19
$120
84% off
Take This Course
  • Lectures 71
  • Length 12 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2016 English

Course Description

This course uses Laravel 5.2. You learned the basics but still feel like something's missing? You want to get your development skills to the next level?

Already got the basics about PHP, HTML and CSS? Still struggling to start off your career? Or maybe you're interested in broadening your skills and want to be a more confident web developer? Whatever your reasons are, this course will take your web development skills to the next level!

While knowing all the basics is absolutely necessary it also isn't enough. 8 years ago you might've been a good web developer, just coding single PHP files and spaghetti-coding them together. Nowadays that will not suffice.

Become more efficient, enjoy the fun parts!

Today's websites need to be easily scalable, offer a nice user experience, be responsive, fast, error-tolerant and obviously safe. Taking care of all this on your own will at least cost you immense amounts of time. In the worst case it will result in slow or insecure web applications - no one wants that!

Modern PHP development absolutely required you to be familiar with at least one of the major PHP frameworks out there. Being a confident developer in such a framework will instantly boost your productivity! I'm able to setup customized CMS-Applications within hours. That leaves much more time for important things like getting your business logic right and optimizing the user experience!

"Laravel: A Framework for Web Artisans"

In this course I'll teach you the most modern major PHP framework existing: Laravel. It is immensely popular due to the huge volume of functionalities it offers whilst ensuring highest security and ease of use. With Laravel creating web applications is extremely efficient and fun.

This course will teach you everything you need to know to get started with Laravel and develop awesome applications. I guarantee, that you'll be able to create much more complex applications and websites after taking this course and learning Laravel.

Build two major projects in this course

Guaranteeing something is one thing - showing it, however, is the real deal.

Throughout this course we will build, alongside a lot of smaller examples, two major applications which could be real client projects! Our Quotes Website as well as our fully functional Blog (with both Frontend as well as Backend = Administration area) will showcase and use all the Laravel tools we'll cover in this course:

  • MVC approach: Lean application for easy scaling and maintenance
  • User authentication
  • Routing for GET and POST request
  • Protection of routes against unauthorized access
  • Structured database operations with Laravel's built-in ORM for highest security and comfort
    • INSERT, DELETE, UPDATE, SELECT without any SQL-skills
    • Relationships
    • Setting up and structuring a database via PHP files
  • View Templating with Blade Template Engine
  • Automatic mailing with and without callback links
  • Events and Listeners
  • AJAX requests
  • ... and much more!

I also include bonus sections which offer useful refreshers regarding CSS and JavaScript!

Don't hesitate, jumpstart your career and take the next step!

What are the requirements?

  • You should be familiar with the basics of HTML and CSS as well as PHP
  • No development environment is required, we will set it up in this course

What am I going to get from this course?

  • Develop modern, scalable, secure and feature-rich web applications and websites
  • Finish web development projects within much shorter timespans than before
  • Accomplish design and development goals with little effort
  • Provide impressive user experiences and high levels of security within their web applications

What is the target audience?

  • This course is meant for students already familiar with the basics of PHP and HTML who want to take their development skills a step further
  • No advanced web development skills are required
  • This course suits you well when you've already taken one of the many basic courses here on Udemy or if you're a self-taught newcomer

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Introduction
03:44

Let me introduce myself: My name is Maximilian and I will be your instructor throughout this course. I'm confident that we'll communicate on the same level as I'm a self-taught professional web developer. I was able to successfully switch to that career path because of energetic research for high-quality learning materials.

More than once I spent days figuring out a certain topic because of incomplete resources. I therefore know what to emphasize and what the essentials are. Let's take this route together, because you should be able to achieve anything you want!

03:23

Besides a lot of smaller examples, we will build two major projects.

Quotes application

We'll create an app which allows us to create and delete quotes, to see quotes of other people and to filter for individual quote authors. Additionally we'll extend that example with mail support, sending mails automatically and providing callback links within those mails.

Full Blog

This blog will be huge. We won't stop at the frontend, we will build the administration area as well! Creating, editing, deleting and viewing blog posts will be a breeze - as will attaching and detaching categories. Users will be able to contact us via a contact form, with notification mails being sent to them and us. And that's only a part of all the awesome things we'll learn throughout that final project!

01:53

Learn about the recommended prerequisites for this course. Fulfilling those requisites will enable you to fully benefit from all the knowledge provided throughout this tutorial.

You should be familiar with the very basics of HTML and CSS. Additionally it's important that you already have a basic understanding of PHP.

06:51

In this video we will setup the development environment required for this course step-by-step. In order to make this process as easy as possible, we'll use Cloud 9 (a cloud IDE and Workspace) to avoid the need for any adjustments on your local machine.

06:00

We're finally there! In this video we will create our very first, basic Laravel application. This will already allow you to see how Laravel works and learn more about the Laravel folder structure.

Section 2: Introduction to Laravel
03:44

Laravel is a PHP Framework. While you're probably familiar with PHP, you might not know what such a framework does and why we should use one.

This video will get you there and explain how Laravel relates to PHP and why we should use it.

05:50

Laravel is a MVC framework. In case that doesn't tell you anything: I got you covered! In this video you'll learn what MVC means and how Laravel works as a MVC framework.

Section 3: Views, Controllers & Routing
14:16

Our web application presents something to the user - so called "Views".

Learn what views are, how to create them and how to use the blade templating engine.

04:30

The Blade Templating Engine enables you to create your HTML-Files from several templates and to dynamically add content. It immensely reduces the amount of code duplication and speeds up the entire development process.

09:50

We want show the user different pages of our application, depending on the URL entered or which link was clicked. Therefore we need a router which handles those requests and shows the user the correct page.

In this video you will learn more about the Laravel router and how to use it for GET-Requests.

11:55

We want show the user different pages of our application, depending on the URL entered or which link was clicked. Therefore we need a router which handles those requests and shows the user the correct page.

While you already had a look at GET-Requests in the previous video, this video will now consider POST-Requests and how to handle them correctly.

03:28

Learn about additional benefits the Laravel router offers to you. With route grouping, routing get's even more easier and efficient.

11:39

Presenting the views is one thing, but most of the time some business logic will have to be processed prior to the presentation of a view.

In a MVC framework of Laravel, this is the job of the controller. A controller is the middleman between the view and the model. Learn how to use Controllers in this video.

Section 4: Content Management in Laravel (Models, Database Access, Relationships, Querying)
02:49

After learning about Views and Controllers, only the M of MVC is missing: Models. Learn how to create models in Laravel and how to use them.

Laravel makes connecting models with the database real easy - learn more about it in this video.

06:21

When handling user input, a lot of possible problems await you. Thankfully, user input validation is made real easy in Laravel and this video will show you, how to take advantage of it.

09:21

Learn how to use the Laravel CLI (command-line-interface) to create models and database table configurations in a breeze. No SQL-skills will be required to customize database tables the way you need them and setup a connection between your application and your database!

09:51

Especially for testing, we often need dummy data in a database. But sometimes we also need such data in real-world applications.

Laravel offers us the helpful "seeding"-tool, which allows us to create exactly such data. Learn how to use it in this video.

02:50

You can access database data through your Laravel model. But how do you then get that data to show up on the user's screen?

You'll learn that, in this video.

07:28

Fetching data is only a part of most applications. More often than not, you'll have to store data, too.

This video will teach you how to easily do that with Laravel.

09:59

SQL-based databases have one especially important characteristic: The tables inside the database can be related to each other. We can depict those relations in our Laravel application. This enables us to use those relations intuitively inside our web application.

Learn how to setup those relations - again: Absolutely no SQL skills are required!

08:01

Second part of the relations tutorial.

11:12

As said previously: You don't need any SQL skills to be able to access your data in your database. But you do you do it then?

With the Laravel Query Builder - a very intuitive and easy way of accessing data.

08:26

Learn how to write Laravel queries to select and filter data from your database.

Without SQL.

06:57

After having seen how to fetch data, now is the time to learn how you can use the Laravel Query Builder to easily manipulate (insert, update, delete) data in your database.

06:57

Often times you'll have fetched more data (e.g. blog posts) than you want to display on a single page. That's where pagination comes into play - and Laravel has a convenient paginator built-in.

In this video you'll learn how to use it, in order to provide the user with a pleasent pagination experience.

06:47

Modern web applications use AJAX requests to load new data or manipulate data without refreshing the view.

In this video you'll learn how to handle AJAX requests in Laravel.

Section 5: Major Project 1: Quotes App
04:48

This video will provide you with an overview over the project, our goals and what we're gonna build.

We will build a quotation app, where users are able to post and delete quotes, filter for quotes by specific authors and browse through all created quotes.

01:24

We'll first begin with cleaning up our project folder. This video will show you, how to quickly get there and how to clean up correctly when using Laravel.

03:22

The first step of our project is to setup all the required models and migrations (creation of database tables).

This video will show you how to do this and what we will need.

10:41

To be able to see something we will create our main view (currently filled with some dummy data) in this video.

14:55

Although this course is not about CSS and HTML, this little bonus video will guide you through the creation of the (attached) stylingsheet used throughout this project.

10:02

Displaying dummy data isn't that interesting, therefore this video will show you how to implement the logic required to let users create quotes.

10:08

To be able to see some changes in our view, we'll continue with the logic for outputting quotes in this video.

06:20

When a user leaves out some information, we don't want to create a new quote. We should also tell the user what went wrong.

Therefore we'll implement input validation in this video.

07:13

Currently quotes can't be deleted. This will change in this video, where we'll add all required methods and code to be able to do so.

07:30

When the user clicks on the name of an author, we want to only display quotes by that author.

Learn how to add such a feature in this video.

05:40

Finally we got one missing piece: We only want to display a certain amount of quotes per page. In order to do that, we'll add pagination to our application in this video.

Section 6: Events, Listeners & Sending Mails
02:12

Learn what event-driven applications are and why we use events and listeners.

11:56

Learn what events and listeners are in Laravel and how the framework makes it really easy for us to create events as well as listeners and hook them up to each other.

04:04

We'll expand our previous project by some extra functionality: We want users to be able to provide an E-Mail address upon creating quotes. We'll then send them a mail.

In this video will take care about getting and storing their mail address.

Learn how to create an email input field, validate the input and store the email address in the database.

02:52

For testing purposes we don't want to send out emails to the real recipients. Instead we need a service which allows us to check all mails, which would be sent in theory. We'll use Mailtrap.io for that - a service which does exactly this.

Setup Mailtrap.io - a service which handles all outgoing mail to provide you with testing abilities.

07:33

Sending mails is a breeze with Laravel.

Lean how to create a views used for an email, how to attach data, how to configure your mail and - finally - how to send it.

08:38

A common feature in web applications is a "callback link" inside an email. A link which the recipient can click to trigger some action.

Learn how to add such a callback link to a mail and handle the resulting user action in this video.

Section 7: Protection and Security
11:40

Laravel makes authentication real easy. All we need for it to work, is a model for our User.

Learn how to setup such an user model correctly in Laravel.

14:31

Learn how to use Laravel's built-in Authentication Helpers to quickly and safely authenticate users.

05:13

Some areas of your application probably won't be accessible by every user. Thankfully, Laravel makes it easy to check if an user is logged in.

Learn how to do that in this video.

05:42

Implementing the logic to check if a user is logged in can be tedious if multiple routes/ controller actions should be protected. Laravel therefore offers as "middleware" - logic which will be executed during every request (for the routes it's attached to).

Learn more about Laravel middleware, how to configure it and how to use it to protect your routes.

04:31

Even with middleware, protecting individual routes can be tedious. Therefore we'll have a look at grouping routes by middleware in this video.

Section 8: Final Project: Build a Complete Blog (Frontend + Backend)
03:58

Overview over what we'll build in our final project.

We'll create a complete Blog application. Complete means, that we'll not only create the frontend, but also the backend, the administration area. The administrator will be able to create, edit and delete blog posts. He'll also be able to create, edit and delete categories and attach them to blog posts. Finally he'll also be in the position to view contact messages.

The visitor of the blog is able to read all the posts and send contact messages (real mail sent).

02:41

As with our last project, we'll first need to do some project cleanup.

See how to correctly do that in this video.

23:32

We'll start with the frontend views - what visitors of our page will see. At the moment only dummy data is displayed - that'll change soon though.

Learn how to structure the frontend views in this video.

23:21

At the moment our frontend views look pretty ugly. In this video I'll go through the (attached) styling sheets required to present our frontend views in a more pleasent way.

10:04

With our posts, categories, messages we got a lot of models and relations to setup.

Learn how to do that, what we'll need and how to wire our models up in this video.

21:35

At the moment we have no chance of creating any content. In order to get there, we'll now start with the creation of our backend - the administration area.

Learn how to create a nice dashboard view in this video.

26:58

As with the frontend, the backend looks pretty ugly right now. We'll change this with some styling.

Again, this video will guide you through the attached CSS files.

20:59

Finally we'll get closer to creating actual content. In this video we'll setup a "New Post" view and the functionality required to write the resulting data to the database.

After this video, we'll have actual posts - created by the administrator - in the database.

20:10

With the posts in the database, we'll create or update all the views involved in the post presentation.

After this video we're finally able to see our posts!

27:12

We can see our posts now, but currently there's no way of editing or deleting them.

Well, after this video you'll now how to do both things.

15:10

Time to get our categories involved. As we'll handle all the category related actions via AJAX requests, we only need one view: A list of all our categories.

That view will be create in this video.

05:05

You probably already noticed - our navigation isn't updated when we change the page.

Learn how to attach conditional css-classes to views in this video.

25:27

In this lecture we'll add all the functionality (JavaScript, Controller) required to be able to create new categories.

The created .js file is also attached to this lecture.

24:54

Creating categories is the first step - being able to edit them is the second. We'll also add a nice visual effect.

Learn how to write the needed JavaScript and PHP code in this video.

09:16

Implement the complete logic to delete categories. This includes the Laravel Controller as well as some JavaScript.

26:49

At the moment we have to possibility of wiring up our posts to our categories. We'll add that functionality in this video, also by using JavaScript (file is attached).

05:11

After adding the JavaScript code to (currently only visually) attach and detach categories to posts, we'll now follow up with the PHP code in our controller. After this video attaching and detaching categories does have a database impact.

20:43

Our visitors should be able to send us mails through the provided contact form. We'll follow an event-driven approach and implement all the required events, listeners and send-mail functionality in this video.

12:58

In the administration area we want to be able to see all the received messages, we also want to be able to delete them.

In this video we will start with the creation of the views required for those actions.

26:23

Viewing and deletion of messages will be done in one single view and via AJAX. In this video all the JavaScript code required to show a modal (popup) with the message content as well as for the deletion of messages will be created.

13:43

Finally, we want to protect our administration area against unauthorized access.

The concept of middleware will be used in order to setup such a protection.

Section 9: Roundup
01:18

We covered a lot throughout this course and I hope you enjoyed it as much as I did!

I'll share some final thoughts in this roundup video.

Complete Code
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Maximilian Schwarzmüller, Professional Web Developer and Instructor

Experience as Web Developer

Starting out at the age of 13 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.

Besides web development languages like HTML, PHP, CSS etc. I also got into mobile app development and were able to launch apps as well.

As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.

Experience as Instructor

As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving known languages. This background and experience enables me to focus on the most relevant key concepts and topics.

Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding thing is, though, seeing what people you helped or advised are able to pull off and how you improve as a developer yourself.

Ready to start learning?
Take This Course