Laravel Beginner (P1005)


Introduction

Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller architectural pattern. Application frameworks have grown in popularity over the past five years. There has been a tremendous shift from handwriting all code to leveraging these powerful frameworks with prebuilt components and features. Laravel joined the framework scene when there were already many players. However, the developers of Laravel used this timing to their advantage, instead of creating a framework that avoided all of the problems and mistakes previous full-stack frameworks had made and building on top of the excellent Symphony components in order to create a robust, component-based framework.

What you will learn:

This course is designed for students who already attend the PHP 7 training. Anybody without the prerequisite may follow the class but need to expect not to fully grab the concept present in the class.
This class will covers the following core topics:
  • Installation
  • Model View Controller (MVC) methodology
  • Third party-packages
  • Blade templating engine
  • Laravel best practice
  • Workshop of rela-world application

Course Duration : 5 days

 

Module 1 : Request, Routing & Responses

1.1  Request Lifecycle
1.2  Basic Routing
1.3  Route Parameters
1.4  Views
1.5  Views Data
1.6  Redirects
1.7  Custom Responses
1.8  Response Shortcuts
 

Module 2: Controllers

2.1  Creating Controllers
2.2  Controller Routing
2.3  RESTful Controllers
 

Module 3: Blade

3.1  Creating Templates
3.2  PHP Output
3.3  Controller Structures
3.4 Templates Inheritance
 

Module 4: Advanced Routing

4.1  Named Routes
4.2  Secure Routes
4.3  Parameter Constraints
4.4  Route Groups
4.5  Route Prefixing
4.6  Domain Routing
 

Module 5: URL Generation

5.1   The current URL
5.2   Generating Framework URLs
5.3   Asset URLs
5.4   Generation Shortcuts
 

Module 6: Request Data

6.1  Retrieval
6.2  Old Input
6.3  Uploaded Files
6.4  Cookies
 

Module 7: Forms

7.1  Opening Forms
7.2  Form Fields
7.3  Form Buttons
7.4  Form Macro
7.5  Form Security
 

Module 8: Validation

8.1  Validation Rules
8.2  Error Messages
8.3  Custom Validation Rules
8.4  Custom Validation Messages
 

Module 9: Databases

9.1  Abstraction
9.2  Configuration
9.3  Preparing
 

Module 10: Schema Builder

10.1  Creating Tables
10.2  Column Types
10.3  Special Column Types
10.4  Column Modifiers
10.5  Updating Tables
10.6  Dropping Tables
10.7  Schema Tricks

Module 11: Migrations

11.1  Creating Migrations
11.2  Running Migrations
11.3  Rolling Back
11.4  Migration tricks
 

Module 12: Building the Database with the Schema Builder Class

12.1  The Schema Builder class
12.2  Working with tables
12.3  Working with columns
12.4  Columns' methods reference
12.5  Other $table object methods
12.6  Updating tables and columns
12.7  Indexes and foreign keys
12.8  Database versioning with the migrations system
12.9  Creating migrations
12.9  Rolling back migrations
12.10 More examples, more migrations
 

Module 13: The Most Important Element – the Model!

13.1    Creating a Model
13.2    Create, read, update, and delete operations basics
13.3    Creating operations
13.4    Reading operations
13.5    Updating operations
13.6    Deleting operations
13.7    Where, aggregates, and other utilities
13.8    Where and orWhere
13.9    Magic wheres
13.10   Aggregates
13.11   Utility methods
13.12  Mass assignment... for the masses
13.13  Timestamps and soft deletes
13.14  Timestamps
13.15  Soft deleting
13.16  Query scopes
13.17  Attributes casting, accessors, and mutators
13.18  Attributes casting
13.19  Accessors and mutators
13.20  Descending in the code
13.21  A big file
13.22  Quick conversion to array or JSON
13.23  Imaginary attributes
13.24  Route model binding
13.24  Records chunking for memory optimization
 

Module 14: Exploring the World of Relationships

14.1   The trinity – one to one, one to many, many to many
14.2   One to one
14.3   What exactly happened?
14.4   One to many
14.5   Many to many
14.6   A question of inverses
14.7   Querying-related models
14.8   Accessing a pivot table
14.9   Querying a relationship
14.10  Eager loading (and the N + 1 problem)
14.11  Basic eager loading
14.12  Advanced eager loading
14.13  Lazy eager loading
14.14  Inserting and updating related models
14.15  The save() and associate() method
14.16  What about many to many?
14.17  The sync() method
14.18  Accessing distant relationships
14.19  More power – polymorphic relationships
14.20  A simple polymorphic relationship
14.21  A many-to-many polymorphic relationship
 
 
 
 
 

Module 15: Using Collections to Enhance Results

15.1  Basic collection operations
15.2  Transforming collections
15.3  Iterating and filtering
15.4  Iterating
15.5  Filtering
15.6  Sorting
 

Module 16: Everything under Control with Events and Observers

16.1  When should I use events in my models?
16.2  Model events
16.3  An example of model events
16.4  Events observers
16.5  An example of model observers
 

Module 17: Eloquent… without Laravel!

17.1  Exploring the directory structure
17.2  Installing and configuring the database package
17.3  Installing the package
17.4  Configuring the package
17.5  Using the ORM
17.6  Using the Query and Schema Builder
17.7  The Query Builder
17.8  The Schema Builder
 

Module 18: It's Not Enough! Extending Eloquent

18.1    Advanced Concepts
18.2    Extending the Model:eloquent!
18.3    The eloquent Model
18.4    Auto Hydrate
18.5    Model self-validation
18.6    Smart password hashing
18.7    The autopurge of confirmation fields
18.8    Extending the class
18.8    The Auto Hydrate feature
18.9    The eloquent Model self-validation feature – the basic version
18.10  The eloquent Model self-validation feature – the operation-based version
18.11  Smart password hashing and the confirmation fields autopurge method
18.12  Fixing the save() Model method
18.13  Diving into the repository pattern
18.14  Hello, repository pattern!
18.15  Introducing repositories – a concrete implementation
18.16  Coding on Abstractions
18.17  Repositories – a complete implementation
18.18  Adding the new repository
 

Module 19: Workshop

19.1   Build a simple application which demonstrate all Laravel 8 features