Laravel

Learn Web and App Design with Laravel

Web Development4.8(48)6h 54m34 lectures8 sections

What you'll learn

  • Install Laravel tools and create your first project
  • Understand the general project structure
  • Use Routes and their parameters
  • Use Middleware and Route Group
  • Create a Controller and link it to the routes
  • Use the View and the Blade template
  • Work with forms and validation rules
  • Create tables using Migration
  • Work with the database through the Eloquent Model

About this course

This course teaches Laravel, the PHP framework that saves web developers a lot of time and effort when building websites and applications. You start with the course introduction, installing the tools and creating your first project, then an explanation of the general project structure. Next you learn routing, Routes and their parameters and route naming, how to link a new file to the Route Service Provider, then Namespace, Route Group and Middleware. You move on to building a complete project in several parts, then the Controller, the View and the Blade template with its directives such as loops, working with images and files, forms and validation rules. In the final part you work with the database through Migration and two ways of handling the database: Raw SQL Queries and the Eloquent Model. The course suits web developers who know the basics of PHP and want to move to an organized framework. Afterward you will be able to build a complete Laravel website that works with a database. The teaching is practical and gradual, and every concept is followed by an application and a review until it sticks in your mind.

Expected outcomes

  • Comprehensive understanding of the Laravel framework and its usage.
  • Building a complete web application using Laravel.
  • Mastering database management and connection methods.
  • Ability to apply concepts to build real projects.

Learner reviews

These reviews are from learners who bought the content and completed at least 50% of it — there are no reviews from anyone who hasn't gone through the material.
4.8
★★★★★
48 reviews
5★
39
4★
7
3★
2
2★
0
1★
0

    Course content

    1

    Basics

    4 lectures
    1. Course IntroductionDefines Laravel as an open-source PHP framework that cuts code and errors, explains what a framework is along with models and tables, its advantages such as authentication and protection, and the course prerequisites in PHP and web basics.15:20
    2. Install ToolsInstalls the tools for the Laravel course: the Apache server through XAMPP, the Composer package manager, Git, and the PHPStorm IDE, with Visual Studio Code as an alternative.11:00
    3. Create First Laravel ProjectCreates the first Laravel project in two ways, with the composer create-project command and with the laravel new tool installed through Composer, then runs it with php artisan serve and opens its home page.14:51
    4. Explanation of the Project StructureExplains the overall structure of a Laravel project and its main folders, including Models, Http, config, database with migrations and seeders, lang, routes, and public, along with the composer file and the composer update command.12:33
    2

    Routes

    7 lectures
    1. Concept of RoutingExplains the concept of routes in Laravel using the example of opening a website in the browser, the request types get, post, put, patch, and delete, the match, any, and view methods, and passing parameters through a route.16:16
    2. Routing Parameters and How to Send ThemExplains passing parameters in a Laravel route, covering required parameters, optional ones marked with a question mark and a default value, multiple parameters, and restricting their values with the where method and regular expressions.10:35
    3. Named RoutesExplains Named Routes in Laravel using the name method so the name replaces the full URL, and uses it in a link inside a Blade page while passing parameters with default values.7:07
    4. Creating a New File for Routes and Linking it to the Route Service ProviderCreates a new routes file for the admin, like web.php, and links it through RouteServiceProvider by defining it in the boot method with a group and a prefix, to organize regular user routes and admin routes.7:22
    5. What is Namespace and Working with Route GroupExplains Laravel Route Groups and adding a prefix and name to them, then the namespace concept and tying a group of routes to a specific Controllers folder such as an Admin folder.12:13
    6. MiddlewareExplains Laravel Middleware as an intermediate layer that inspects HTTP requests, creating one with an artisan command, writing a condition in the handle method, then registering it in the Kernel file and attaching it to routes.8:43
    7. Review of All Related RoutingReviews Laravel Routes: the web.php file, HTTP request types such as GET, POST, PUT and DELETE, optional parameters and constraints on them, Route Group, Middleware, Route Match and Route Any.6:46
    3

    Controller

    4 lectures
    1. What is Controller?Explains what the Controller is in Laravel, the mediator between the Model and the View in the MVC pattern, creates one with an artisan command, then creates a resource controller with index, create, store, and show methods.6:32
    2. Linking the Controller to the RoutesLinks a Controller to Routes in Laravel, creating a controller with an artisan command and calling its methods from the route, covering proper naming, then the single action controller defined with the invoke method.14:33
    3. Controller MiddlewareExplains using Middleware with the Controller in Laravel in two ways: setting it on the route with the middleware method, or inside the Controller's constructor, with the option to apply it to specific methods.5:49
    4. Review of Everything Related to the ControllerReviews the Laravel Controller within the MVC pattern: creating it with commands, the single action controller with its invoke method, the resource controller with its ready-made methods, and linking it to routes.7:55
    4

    View

    3 lectures
    1. What is View?Explains the View in Laravel: files with the blade.php extension holding HTML and Blade directives, how to create and call them with the view function, and organizing them in subfolders such as admin.12:40
    2. Data Transfer to ViewExplains passing data from the route to the View in Laravel in three ways: an array in the view function, the with method, and the share method inside boot in AppServiceProvider to share it with all views.7:54
    3. Explanation of Blade Template with ViewExplains the Blade template with views in Laravel, using the extends, section, yield, and include directives, passing lists from the route to display on the page, and controlling content with conditions.15:17
    5

    Forms, Verification and Others

    6 lectures
    1. First Practical Project to Connect the Explained PartsBuilds a simple Laravel project that ties together what was covered: a shared app.blade.php layout that each page extends, a route, a Controller, and a welcome page, introducing Blade without going into data details.19:29
    2. Building a Dynamic Menu for the SiteBuilds a dynamic navigation menu in Laravel with a header.blade.php file included on every page using include, then adds an active class to the current link through a condition on the current route.8:26
    3. Handling Images and Adding Files to the ProjectExplains displaying images in a Laravel project in two ways: storing them in the public folder and calling them with the asset function, or using the storage:link command to link the storage folder to public and show files in its subfolders.10:45
    4. Explanation of Some Blade DirectivesExplains Blade conditional directives such as @if and @else, negated conditions, checking a variable with isset and @empty and how they differ, and @switch, with variables passed from the Controller to the View.16:21
    5. Loop Directives with BladeExplains Blade loop directives: for, foreach, forelse which handles an empty array, and while, printing the counter and the items of an array sent from the Controller, and how the condition affects iteration.13:37
    6. Using Models and Adding Validation RulesBuilds a login form in Laravel linked to a route and view, submits it with POST and CSRF protection, then adds validation rules such as required and a minimum character count for the password.20:19
    6

    Databases

    3 lectures
    1. Creating Tables in the DatabaseExplains Migration in Laravel as a way to create database tables and their columns, starting by setting up the database, then creating a posts table migration with an artisan command and adding columns, plus the up and down methods.19:11
    2. First Method for Dealing with the DatabaseExplains the first way to work with the database in Laravel, Raw SQL Queries through the DB facade, running insert, select, update, and delete operations on the posts table with bound values.22:09
    3. Second Method for Dealing with the DatabaseExplains the second way to work with the database, the Eloquent Model, which represents each record in the table, fetching data with all and find, and updating values then saving them with save.21:02
    7

    Creating a Complete Public Project

    6 lectures
    1. Creating the Project (Part One)Creates a new Laravel blog project with the laravel new command, connects it to a database through XAMPP and the settings file, then opens it in Visual Studio Code and runs it with php artisan serve.3:40
    2. Creating the Project (Part Two)Creates a Model and migration for the posts table, then sets up a Factory to generate fake data, and uses php artisan tinker to create ten test records linked to user IDs.13:25
    3. Creating the Project (Part Three)Creates a BlogPostController tied to the post model with the model option, then adds index and show routes that return the posts table data as JSON using route model binding.10:24
    4. Creating the Project (Part Four)Builds an app.blade.php layout with HTML, fonts and Bootstrap styling, then connects the index view to the Controller to list posts, with a link to each single post's show page.18:38
    5. Creating the Project (Part Five)Builds the single-post show page along with the create and index pages, saves a new post through the store method in the Controller and Model, and adds edit and delete buttons to be programmed next.13:43
    6. Creating the Project (Part Six)Builds post editing in Laravel: an edit page, edit and update methods in the Controller, updating the title and body from the request, then redirecting to the post or blog page after saving.9:34
    8

    Add-ons

    1 attachments
    1. Download from Here

    Instructor

    Eng. Amr Abdel Fattah

    Eng. Amr Abdel Fattah

    Computer systems engineer specializing in mobile app and website development, with experience in creating popular platforms and web applications.
    49.1K views20 courses

    Related courses