Laravel for RESTful

Create a RESTful API with Laravel and PHP. Dominates RESTful using Laravel and PHP
4.0 (184 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,724 students enrolled
75% off
Take This Course
  • Lectures 57
  • Length 6 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


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


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

About This Course

Published 2/2015 English

Course Description

The complete Laravel course for RESTful APIs.

This course incluse classes for the recent Laravel versions: All the Laravel 5.0, 5.1 and 5.2 versions!

Create your own RESTful API with Laravel, step by step, from development to production. Publish your Laravel project in your server at the end of the course.

Laravel has more than 30,000 public projects. Definitely, Laravel is the most popular framework for PHP.

Laravel is very expresive, simple AND powerful, develop complex platforms and projects with few lines of code using Laravel powers. Avoid the boilerplate code and focus in the functionality, not in the code.

During this course you are going to learn, about Laravel and RESTful: Create class-by-class your own RESTful API using Laravel.

Learn about this on Laravel for RESTful APIs:

  • Middlewares with Laravel
  • Laravel requests: Requests validation and authorization
  • REST controllers in Laravel
  • Exceptions/Errors handling with Laravel
  • Database Migrations
  • Database Seeds
  • Authentication in Laravel
  • Stateless authentication for RESTful API
  • CSRF in Laravel and the RESTful APIs
  • OAuth2 access and validations on Laravel
  • File uploading through the API with Laravel
  • Much more! Check the course contents

You are going to use Laravel to create a completely functional RESTful API from scratch using the Laravel powers.

¡Much more! You will have access to all the classes for ever and access for periodical bonus classes all about PHP, Laravel and RESTful APIs.

Follow the REST architecture and the best practices to build URIs, identify resources and actions using the Laravel resources controllers.

Hone all the features of your development tools (Sublime Text 3, Git, Github, Laravel, Composer, PHP artisan) be more productive and efficient in your developments, specially for your Laravel projects.

Learn to develop projects in a local environment within XAMPP (Apache and MySQL) and the appropriate configuration of your tools; create projects in local and carry them to a production environment in Linux, runing Nginx, PHP and MySQL and using Laravel in both environments.

Learn how to use Laravel through the command line within PHP artisan to build all the components for your RESTful API using all the HTTP methods(GET, POST, PUT, PATCH y DELETE).

At the end of this course you are going to have the capacity to develop your own RESTful API with Laravel and PHP easily and faster, domain the new features, concepts and structure to create a functional RESTful API with the Laravel powers.

See you in classes.

What are the requirements?

  • Programming PHP
  • Basic knowledge about object oriented programming (classes, methods, attributes, inheritance)
  • Download Sublime Text 3 for Windows (Don't install )
  • Download Composer for Windows (We'll install during the course)
  • Download XAMPP for Windows (Don't install)

What am I going to get from this course?

  • Create your own projects with Laravel 5.
  • Hone your work tools (Sublime Text 3, Git, Github, Composer and PHP artisan)
  • Create and maintain automatically your database structure with Laravel and the PHP artisan command prompt.
  • Use effectively PHP artisan and be more efficient.
  • Create your own public repositories for your projects.
  • Create and configure your own local environment to develop your projects.
  • Choose the bests practices to carry out your projects to a production environment.
  • Configure correctly all your environments for your projects.
  • Use and learn the main HTTP methods for a RESTful API.
  • Make an agile projects development, honing your tools and practices.
  • Create an maintain your own production server in Linux.
  • Use free and professional tools to improve your productivity.
  • Interact with Windows and Linux systems simultaneously.
  • Obtain a preview of the course results in:

Who is the target audience?

  • If you want to upgrade from Laravel 4 to Laravel 5.
  • If want to hone all the, features and advantajes of Laravel 5.
  • If want to learn to do agile development of your projects.
  • If you wish to implement your own API, completely functional and easily.
  • If you want to develop your projects in multiple environments simultaneously and put it on production.
  • If wish to implement a featured API following the REST architecture.
  • If you need to maintain you skills up to date and be competitive.
  • If you wish to share your projects and skills with the world.

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.


Section 1: Preparing the local tools

What we going to do during this course and how.


How to install XAMPP in our Windows local environment, and run Apache and MySQL.


We'll learn a virtual host in Apache to emulate real conditions in our local environment.


How to install and use Composer in our Windows local environment.


How to install and configure Sublime Text 3, install very useful plugins which allow us to develop easy and faster our projects.


How to download, install and use Git and Github to create our local repositories and mainstain a version control for the project.


We going to obtain a copy of the new structure for Laravel 5 using composer and check it out.


If you want to use Laravel with a local environment in another operating system like Linux you need to do some changes.

Section 2: Creating the structure and components for our API

How to follow the source code of the project easily class by class and easily copy/paste.


We going to see the new folder structure of laravel and a functional example.


During this class we going to create our models for the API and define the relations between them


We going to define the structure of our tables inside the database using PHP artisan.


During this class we going to insert data automatically into our database using Laravel seeders.


For the latest changes in Laravel 5, some things changed for the routes:list command. Lets see about it and how to solve.


How to create easily our REST routes with PHP artisan


In this class we going to create our controllers structure using php artisan and keeping only the neccessary methods.

Section 3: Implementing our API operations (methods - CRUD)

Implementing our index and show methods for our only Vehicle and Maker controllers.


During this class we going to implement the index and show methods for our nested resource controller


We going to see the problem with the CSRF middleware for our API, and how to disable it, temporarily.


We going to add makers to the database implementing the stroe method and using a Request controller to validate our data.


Storing vehicles associated with and specific maker, using our nested resources controller and a Request controller to validate data.


Implementing the update method to receive requests on the PUT and PATCH methods.


Implementing the destroy method to remove data in our database.

Section 4: Improving the security and features of our API

Implementing basic auth to our sensible operations like, store, update and destroy.


We going to see what is CSRF and how this could be used in our API


We going to implement our own middleware to use stateless basic auth and avoid the CSRF vulnerability.


Implementing handlers to bad requests and for unexpected errors.

Section 5: Preparing our production environment

We going to create our own free VPS trial, and configure then to be functional and secure.


In this class we going to create our free domain to use for out API and make some tests.


We going to install an Nginx server to obtain a more productive server, and configure it for our domain.


Installing PHP and MySQL and linking all this with Nginx server in our VPS.


We going to install our Composer and Git packages to install then our dependencies and the project structure.

Section 6: Synchronizing and configuring our production environment

We going to create our account on GitHub (fi no have any yet) and then we going to create our first public repository for the API project.


We going tu push all oor local project files, into a remote repository using Github.


Putting our API code from the remote repository into our production environment.


Is possible that after do all the neccessary to deploe Laravel 5 in you VPS it still not working showing a "White page" and returning a 500 Internal Server error.


We are going to finish with all the required configurations to make work our API.

Section 7: Useful Features

Learn how to easily add the version to the URIs of the API.


Adding a cache system to reduce the database overload for some specific requests.


Paginating the result by small sets of data to reduce the overload. Take into account that it could be inconsistent with the cache system.

Section 8: Bug Fixing and Upgrading to Laravel 5.1

During this class you are going to learn how to upgrade your Laravel 5 project to the 5.1 version, keeping all the features of the project.


During this new class, you are going to fix some details which are going to improve the user experience in the API.

  1. Adding the id in the index and show methods.
  2. Adding the id as a result of the store methods.
Section 9: OAuth2 Security: Controlling Access and Validation of Requests

During this lecture you are going to learn what OAuth2 is, the different grant functions and which is suitable during the course.


If you taked the course before at 02/11/2015 you may want to remove the old version to proceed with the next classes.

Note: If you do not have installed a old version of OAuth server, you don't need to follow this class


During this section you are going to add the OAuth2 Server as a dependency of your Laravel project and then install all the required database tables, values and files for the configuration.


The OAuth2 server is almost done, you need to add a grant_type to obtain the access tokens, run the migrations and create clients to test how it is working.


During this class you are going to finally specify which routes and operations you want to protect through the OAuth2 middleware.

Def: A middleware is a mechanisms that is executed before to attend a requests, if the middleware "decide" to pass the requests all works, but if not the requests is rejected. In Lumen you can execute a middleware for every request or for a specific requests.

Section 10: Uploading Files to Our RESTful API

During this class you are going to create the model (called File), the migration, the controller and the route that are going to allow to a user to upload files.


During this section you are going to implement the method to upload and store the files, both in database and in the system.


During this class you are going to implement the update method, to edit an existing file.

Take into account that the PU/PATH methods does nos accespt files directly, so we need to use the POST method, but sending the "_method" parameter equals to PUT, to emulate a request using this methods.


During this class you are going to implement the index, show and destroy method to finally have a completely functional manager for files.


At this point any client or user can create, update and delete files, but these operations must be protected. Use the OAuth middleware to protect these operations.

Section 11: Upgrading to Laravel 5.2

Check how to upgrade you project to laravel 5.2 easily.


Laravel 5.2 change a little in the way as the exceptions are handling. Learn how to solve some details missed about the exceptions handling.

Section 12: ¡Even more!

The list of all the bonus classes that are coming.


See how works the API created during this course using Laravel 5.


Creating a VPS on DigitalOcean using a $10 USD promotion.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

JuanD MeGon, Experienced Web Developer, Programmer and Instructor

Systems and Informatics Engineer - Web Developer

Professional Instructor. Founder of ProgramarYa.

Found professional courses about web development with high quality and availability, PHP, Laravel and Web Development in general.


Ingeniero de sistemas e informática - Desarrollador Web.

Instructor profesional y fundador de ProgramarYa.

Encuentra cursos profesionales sobre PHP, Laravel y de desarrollo web en general, con alta calidad y disponibilidad.

Ready to start learning?
Take This Course