Completed

Laravel Training (Beginner - Intermediate)

Zeta Integrated Solution Sdn Bhd

Date
10 โ€“ 14 Jan 2022
Organised by
Favourite Trainer Sdn Bhd
Trainer
Azman Zakaria
Attendees
4

Tag : Laravel, MySQL, jQuery, Twitter Bootstrap, Coaching, Javascript

Tarikh Kursus : 10 - 14 January 2022

Lokasi : Zeta Integrated Solution Office, Shah Alam

Introduction :
This course will use the concept of "From Zero to Hero", meaning that we will teach you from basic to mastering Laravel. In order to fully grasp the content of the class, students are expected to have a strong PHP foundation. Student without strong PHP foundation are welcome to join the class but must expect not to fully grasp the whole content.

Tools that will be used in this class are as follows :-

  • Laravel Framework 8
  • Laragon Full versi 4.0
  • PHP 7.4
  • MySQL 5.7
  • jQuery 3
  • Twitter Bootstrap 4
  • Visual Studio Code
  • SQL Yog
  • Composer
  • Cmder

Each student should have the following minimum PC / Notebook specification recommendation:

  • Window 10 with 8 GB RAM
  • 2 GB Free Storage

Syllabus

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 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:  Setting Up a Laravel Development Environment

 

  • System Requirement
  • Composer
  • Local Development Environments
  • Laravel Valet
  • Laravel Homestead
  • Creating a New Laravel Project
  • Installing Laravel with the Laravel Installer Tool
  • Installing Laravel withComposer’s create-project Feature
  • Lambo: Super-Powered“Laravel New”
  • Laravel’s Directory Structure
  • The Folders
  • The Loose Files
  • Configuration
  • The .env File
  • Up and Running
  • Testing

Module 2:  Routing and Controllers

  • A Quick Introduction to MVC, the HTTP Verbs, and REST
  • What Is MVC?
  • The HTTP Verbs
  • What Is REST?
  • Route Definitions
  • Route Verbs
  • Route Handling
  • Route Parameters
  • Route Names
  • Route Groups
  • Middleware
  • Path Prefixes
  • Fallback Routes
  • Subdomain Routing
  • Namespace Prefixes
  • Name Prefixes
  • Signed Routes
  • Signing a Route
  • Modifying Routes to Allow Signed Links
  • Views
  • Returning Simple Routes Directly with Route::view()
  • Using View Composers to Share Variables with Every View
  • Controllers
  • Getting UserInput
  • Injecting Dependencies into Controllers
  • Resource Controllers
  • API Resource Controllers
  • Single Action Controllers
  • Route Model Binding
  • Implicit RouteModel Binding
  • Custom RouteModel Binding
  • Route Caching
  • Form Method Spoofing
  • HTTP Verbs in Laravel
  • HTTP Method Spoofing in HTML Forms
  • CSRF Protection
  • Redirects
  • redirect()->to()
  • redirect()->route()
  • redirect()->back()
  • Other Redirect Methods
  • redirect()->with()
  • Aborting the Request
  • Custom Responses
  • response()->make()
  • response()->json() and ->jsonp()
  • response()->download(),->streamDownload(), and ->file()
  • Testing

Module 3: Blade Templating

  • Echoing Data
  • Control Structures
  • Conditionals
  • Loops
  • Template Inheritance
  • Defining Sections with @section/@show and @yield
  • Including View Partials
  • Using Stacks
  • Using Components and Slots
  • View Composers and Service Injection
  • Binding Data to Views Using View Composers
  • Blade Service Injection
  • Custom Blade Directives
  • Parameters in Custom Blade Directives
  • Example:UsingCustom Blade Directives for a Multitenant App
  • Easier Custom Directives for “if” Statements
  • Testing

Module 4: Databases and Eloquent

  • Configuration
  • Database Connections
  • Other DatabaseConfiguration Options
  • Defining Migrations
  • Running Migrations
  • Seeding
  • Creating a Seeder
  • Model Factories
  • Query Builder
  • Basic Usage of the DB Facade
  • Raw SQL
  • Chaining with the Query Builder
  • Transactions
  • Introduction to Eloquent
  • Creating and Defining Eloquent Models
  • Retrieving Datawith Eloquent
  • Inserts and Updates with Eloquent
  • Deleting with Eloquent
  • Scopes
  • Customizing Field Interactions with Accessors, Mutators, and Attribute
  • Casting
  • Eloquent Collections
  • Eloquent Serialization
  • Eloquent Relationships
  • Child Records Updating Parent Record Timestamps
  • Eloquent Events
  • Testing

Module 5: Collecting and Handling User Data

  • Injecting aRequest Object
  • $request->all()
  • $request->except() and $request->only()
  • $request->has()
  • $request->input()
  • $request->method() and ->isMethod()
  • Array Input
  • JSON Input(and $request->json())
  • Route Data
  • From Request
  • From Route Parameters
  • Uploaded Files
  • Validation
  • validate() on the Request Object
  • Manual Validation
  • Custom Rule Objects
  • Displaying ValidationError Messages
  • Form Requests
  • Creating aForm Request
  • Using a Form Request
  • Eloquent ModelMass Assignment
  • {{ Versus {!!
  • Testing

Module 6. Artisan and Tinker

  • An Introductionto Artisan
  • Basic Artisan Commands
  • Options
  • The Grouped Commands
  • Writing Custom Artisan Commands
  • A Sample Command
  • Arguments and Options
  • Using Input
  • Prompts
  • Output
  • Writing Closure-Based Commands
  • Calling Artisan Commands in Normal Code
  • Tinker
  • Laravel Dump Server
  • Testing

Module 7. User Authentication and Authorization

  • The User Modeland Migration
  • Using the auth() Global Helper and the Auth Facade
  • The Auth Controllers
  • RegisterController
  • LoginController
  • ResetPasswordController
  • ForgotPasswordController
  • VerificationController
  • Auth::routes()
  • The Auth Scaffold
  • “Remember Me”
  • Manually Authenticating Users
  • Manually Logging Out a User
  • Invalidating Sessions on Other Devices
  • Auth Middleware
  • Email Verification
  • Blade Authentication Directives
  • Guards
  • Changing theDefault Guard
  • Using Other Guards Without Changing the Default
  • Adding aNew Guard
  • Closure Request Guards
  • Creating a Custom User Provider
  • Custom User Providers for Nonrelational Databases
  • Auth Events
  • Authorization (ACL)and Roles
  • Defining Authorization Rules
  • The Gate Facade (and Injecting Gate)
  • Resource Gates
  • The Authorize Middleware
  • Controller Authorization
  • Checking on the UserInstance
  • Blade Checks
  • Intercepting Checks
  • Policies
  • Testing
 
 
 

Module 8: Requests, Responses, and Middleware

  • Laravel’s Request Lifecycle
  • Bootstrapping the Application
  • Service Providers
  • The Request Object
  • Getting a Request Objectin Laravel
  • Getting Basic Information About a Request
  • The Response Object
  • Using and Creating Response Objects in Controllers
  • Specialized Response Types
  • Laravel and Middleware
  • An Introductionto Middleware
  • Creating Custom Middleware
  • Binding Middleware
  • Passing Parameters to Middleware
  • Trusted Proxies
  • Testing

Module 9: Storage and Retrieval

  • Local and Cloud File Managers
  • Configuring File Access
  • Using the Storage Facade
  • Adding AdditionalFlysystem Providers
  • Basic File Uploads and Manipulation
  • Simple File Downloads
  • Sessions
  • Accessing the Session
  • Methods Available on Session Instances
  • Flash Session Storage
  • Cache
  • Accessing the Cache
  • Methods Available on Cache Instances
  • Cookies
  • Cookies in Laravel
  • Accessing theCookie Tools
  • Logging
  • When and Why to Use Logs
  • Writing to the Logs
  • Log Channels
  • Full-Text Search with Laravel Scout
  • Installing Scout
  • Marking Your Modelfor Indexing
  • Searching YourIndex
  • Queues and Scout
  • Performing OperationsWithoutIndexing
  • Conditionally Indexing Models
  • Manually Triggering Indexing via Code
  • Manually Triggering Indexing via the CLI
  • Testing
  • File Storage
  • Session
  • Cache
  • Cookies
  • Log
  • Scout

Module 10: Mail and Notifications

  • Mail
  • “Classic” Mail
  • Basic “Mailable”Mail Usage
  • Mail Templates
  • Methods Availablein build()
  • Attachments andInline Images
  • Markdown Mailables
  • Rendering Mailables to the Browser
  • Queues
  • Local Development
  • Notifications
  • Defining the via() Method for Your Notifiables
  • Sending Notifications
  • Queueing Notifications
  • Out-of-the-Box Notification Types
  • Testing
  • Mail
  • Notifications
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Training Materials

1. Laravel Book

 

Trainer Profile

 Nama : Azman bin Zakaria
 Umur : 52 tahun
 Pengalaman Dalam Bidang IT : 21 Tahun
 Syarikat : Favourite Trainer Sdn Bhd
 Kelulusan :

  • Bachelor IT UiTM
  • Diploma Computer Science UiTM
  • HRDF Certified Instructor

Azman merupakan senior programmer yang passionate dalam bidang pengaturcaraan komputer dari awal mulai beliau bekerja pada tahun 2000 sehingga hari ini. Beliau mempunyai pengalaman bekerja yang luas di agensi kerajaan, swasta dan sebagai freelancer.
Antara pengaturcaraan yang selalu digunakan adalah seperti :

  • PHP (sejak tahun 2000)
  • PHP dan Laravel Framework
  • PHP dan Yii Framework
  • Coldfusion
  • Java 
  • Java dan Spring Boot Framework
  • Javascript
  • jQuery
  • Vuejs
  • Angular
  • Flutter

 

Notes

GIT
- github
 - 
- gitlab
 - private free repo
- bit bucket

GIT Command
-------------
- git client:
 - terminal / command line
   - git cli
 - UI
  - kraken, VSC

>git clone https://gitlab.com/azman1204/zeta-git.git
 - download src code ke local comp.

>git status
 - check status projek (changes, modification, new file)

>git add .
 - add to basket

>git commit -m "message here..."
 - execute git history

>git push


- .gitignore
 - tak nak share file / folder ke gitlab
 - cth: .env, vendor/, ....
 

Borang Penilaian Keberkesanan Latihan

Training evaluation ยท Laravel Training (Beginner - Intermediate)

Log in with the account you registered for this training to fill in the survey.

Log in to fill in the survey

Attendance

Registration closed
This training ended on 14 Jan 2022, so new attendance can no longer be registered.

Students (4)

# Name
1. Noor Najwa Ismail
2. Nur Faizatul Zulaihka Binti Mat Rahim
3. MOHAMAD SAFWAN ZAKWAN BIN ZAKARIA
4. Nik Muhammad Ilham Syafiq Bin Mohd Azam