PHP Beginner / Intermediate (P1002)


Introduction

PHP is a fast and feature-rich open source scripting language used to develop Web Applications or Internet / Intranet Applications. MySQL is a powerful open source database server built based on a relational database management system (RDBMS) and is capable of handling a large concurrent database connection.

What You Will  Learn

This course assumes you have no prior knowledge of PHP but have some background in HTML, CSS, and SQL. The course will cover the following core topics:

  • Fundamentals of PHP
  • Variables and operator
  • Control flow (conditional statements, loop, etc)
  • Object Oriented Programming (OOP)
  • Clean coding and refactoring
  • Database and form
  • A simplified real-world application

Course Duration: 5 days

Module 1: Using PHP

1.1  Introduction
1.2  Installation PHP
1.3  Embedding PHP
1.4  Outputting Text
1.5  Installing a Web Server (Apache 2.x)
1.6  Hello World
1.7  Compile and Parse
1.8  Comments

Module 2: Variables

2.1  Defining Variables
2.2  Data Types
2.3  Integer Type
2.4  Floating-Point Type
2.5  Bool Type
2.6  Null Type
2.7  Default Values

 

Module 3: Operators

3.1  Arithmetic Operators
3.2  Assignment Operators
3.3  Combined Assignment Operators
3.4  Increment and Decrement Operators
3.5  Comparison Operators
3.6  Logical Operators
3.7  Bitwise Operators
3.8  Operator Precedence
3.9  Additional Logical Operators

 

Module 4: String

4.1  String Concatenation
4.2  Delimiting Strings
4.3  Heredoc Strings
4.4  Nowdoc Strings
4.5  Escape Characters
4.6  Character Reference
4.7  String Compare

 

Module 5: Arrays

5.1  Numeric Arrays
5.2  Associative Arrays
5.3  Mixed Arrays
5.4  Multi-Dimensional Arrays

 

Module 6: Conditionals

6.1  If Statement
6.2  Switch Statement
6.3  Alternative Syntax
6.4  Mixed Modes
6.5  Ternary Operator

 

Module 7: Loops

7.1  While Loop
7.2  Do-while Loop
7.3  For Loop
7.4  Foreach Loop
7.5  Alternative Syntax
7.6  Break
7.7  Continue

 

Module 8: Functions

8.1     Defining Functions
8.2     Calling Functions
8.3     Function Parameters
8.4     Default Parameters
8.5     Variable Parameter Lists
8.6     Return Statement
8.7     Scope and Lifetime
8.8     Anonymous Functions
8.9    Closures
8.10  Generators
8.11  Built-in Functions

 

 

 

 

Module 9: Class

9.1  Instantiating an Object
9.2  Accessing Object Members
9.3  Initial Property Values
9.4  Constructor
9.5  Destructor
9.6  Case Sensitivity
9.7  Object Comparison
9.8  Anonymous Classes
9.9  Closure Object

 

Module 10: Inheritance

10.1  Overriding Members
10.2  Final Keyword
10.3  Instance of Operator

 

Module 11: Access Levels

11.1  Private Access
11.2  Protected Access
11.3  Public Access
11.4  Var Keyword
11.5  Object Access
11.6  Access Level Guideline

 

Module 12: Static

12.1  Referencing Static Members
12.2  Static Variables
12.3  Late Static Bindings

 

Module 13: Constants

13.1  Constant Guideline
13.2  Magic Constants

 

Module 14: Interface

14.1  Interface Signatures
14.2  Interface Example
14.3  Interface Usages
14.4  Interface Guideline

 

Module 15: Abstract

15.1  Abstract Methods
15.2  Abstract Example
15.3  Abstract Classes and Interfaces
15.4  Abstract Guideline

 

Module 16: Traits

16.1  Inheritance and Traits
16.2  Trait Guidelines

 

Module 17: Importing Files

17.1  Include Path
17.2  Require
17.3  Include_once
17.4  Require_once
17.5  Return
17.6  _Autoload

 

Module 18: Type Declarations

18.1  Argument Type Declarations
18.2  Return Type Declarations
18.3  Strict Typing

 

Module 19: Type Conversions

19.1  Explicit Casts
19.2  Set type
19.3  Get type

 

 

 

 Module 20: Variable Testing

20.1  Isset
20.2  Empty
20.3  Is_null
20.4  Unset
20.5  Null Coalescing Operator
20.6  Determining Types
20.7  Variable Information

 

 Module 21: Overloading

21.1  Property Overloading
21.2  Method Overloading
21.3  Isset and unset Overloading

 

 Module 22: Magic Methods

22.1  _ToString
22.2  _Invoke
22.3  Object Serialization
22.4  _Sleep
22.5  _Wakeup
22.6  Set State
22.7  Object Cloning

 

Module 23: User Input

23.1  HTML Form
23.2  Sending with POST
23.4  Sending with GET
23.5  Request Array
23.6  Security Concerns
23.7  Submitting Arrays
23.8  File Uploading
23.9  Superglobals

 

Module 24: Namespaces

24.1  Creating Namespaces
24.2  Nested Namespaces
24.3  Alternative Syntax
24.4  Referencing Namespaces
24.5  Namespace Aliases
24.6  Namespace Keyword
24.6  Namespace Guideline

 

Module 25: Database

25.1   Setting Up the Database Connection
25.2   Initializing all Includes in one file
25.3   Init file inclusion reminder
25.4   Creating the Database Class
25.5   Future Update for database class
25.6   Automatic DB Connection Setup
25.7   The Query Method
25.8   Database Class Helper Methods
25.9   Testing Query Method
25.10  Improving our Connection to be more OOP

 

Module 26: Workshop 1

26.1  Develop a simple application which demonstrate all PHP features
26.2  Login
26.3  Authorization
26.4  Create, Retrieve, Update, Delete (CRUD)
26.5  Pagination
26.6  Layout / template management

 

Module 27: Workshop 2

27.1  Continuation from workshop 1
27.2  Session
27.3  Upload / download
27.4  Audit trail
27.5  Fail and folder management (create, copy, rename, delete, list)
27.6  Pdf, Excel generation
27.7  Twitter Bootstrap 5 integration
27.8  More CRUD sample
27.9  Conclusion and closing