The complete Laravel course for RESTful APIs.
This course include 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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I enjoy transmitting knowledge and skills to the people through classes and contents. Then, see how they build their projects and tools using the concepts learned.
Continually work on improving my speech, looking for the best way to reach out the students with the central concepts and skills, I love easy but effective ways to transmit every single idea.
I appreciate every minute developing, especially when I can use my skills to implement projects that can help other developers to learn or to make their job and lives easier.
I am constantly looking to work in new projects to leverage my skills and improving the lives of people with more facilities to share the experiences and findings with my students then.
I am excited to contribute to a better world teaching people new skills and, in the way, learn through the experiences and issues of them to improve our skills together.