PHP Fundamentals

This course teaches the fundamentals of the PHP programming language. Industry best practices such as how to create maintainable, secure, efficient code is taught through the 130+ included code examples. At least half the course time is spent in the nearly 50 lab exercises. Lab time is carefully balanced between the skills of: reading code, modifying existing code, creating new code, and debugging code.

Course Outline


  • Introduction

    1. Course Objectives

    2. Advantages and Disadvantages

    3. Popular PHP Use Cases

    4. Running PHP Scripts

    5. Running PHP Scripts (cont.)

    6. Basic Syntax

    7. Combining Files

    8. Finding Mistakes


    Lab Tasks

    1. Preparation For Later Labs

    2. Hello, world

    3. Command Line Debugging

    4. Web Page Debugging

    5. Challenge Items



  • Variables & Functions

    1. Reading Code

    2. Learning To Read Code

    3. echo & print

    4. Variables

    5. Constants

    6. Functions

    7. Built-in Functions & Extensions


    Lab Tasks

    1. Groceries: Part One

    2. Groceries: Part Two

    3. Exploring GD

    4. Dancing Squares: Part One

    5. Dancing Squares: Part Two

    6. Drawing Shapes



  • Numbers & Strings

    1. Basic Type Conversion

    2. Integers & Floats

    3. Math Operators

    4. Assignment Operators

    5. String Literals

    6. Variable Substitution & Common Escapes

    7. String Concatenation

    8. printf() and sprintf()


    Lab Tasks

    1. Numbers & Strings

    2. Challenge Items

    3. Math Operators

    4. printf() and sprintf()

    5. Calculating Tax

    6. Collecting Price Quotes



  • Booleans & Branching

    1. NULL

    2. Booleans

    3. Comparison Operators

    4. Logical Operators

    5. If Statements

    6. Switch Statements


    Lab Tasks

    1. Type Fun

    2. Boolean Fun

    3. Comparison Fun

    4. Float Fun

    5. How To Recognize Comedy

    6. CLI Calculator

    7. Shipping Advisor



  • HTML & Templates

    1. Separation of Concerns

    2. HTML Fundamentals

    3. Common Block Elements

    4. Common Inline Elements

    5. CSS Fundamentals

    6. JavaScript Fundamentals

    7. Web Accessibility

    8. Cross-site Scripting (XSS)

    9. Templates Systems


    Lab Tasks

    1. HTML Demo

    2. CSS Demo

    3. JavaScript Demo

    4. Story Time

    5. Web-based Price Quotes

    6. Attack of the Price Quotes



  • Arrays & Scope

    1. Arrays As Lists

    2. Arrays As Maps

    3. Arrays As Ordered Maps

    4. JavaScript Object Notation (JSON)

    5. Working With JSON

    6. Variable Scope

    7. Replacing Branching With Arrays


    Lab Tasks

    1. Array Fun

    2. Story Time: Part II

    3. Stock Watcher

    4. Rock Paper Scissors

    5. Exploring Scope

    6. Sandwich Shop



  • Looping, Objects, & Exceptions

    1. While & Do Loops

    2. Foreach Loops

    3. For Loops

    4. Loop Gotchas

    5. break, continue, & goto

    6. Working With Objects

    7. Working With Exceptions


    Lab Tasks

    1. Number Game

    2. Tic Tac Toe

    3. Form Creator



  • Forms & Cookies

    1. HTTP Fundamentals

    2. Request Methods

    3. Status Codes

    4. Representational State Transfer (REST)

    5. Cookies

    6. Accessing Request Data

    7. Setting Cookies

    8. Sending Redirects

    9. Form Fundamentals

    10. Input Element Types

    11. Other Form Elements

    12. Input Validation

    13. Bots and CAPTCHAs

    14. Forms and Redirects

    15. Cookies, Forms, and Arrays


    Lab Tasks

    1. Form Demo

    2. Subverting Forms

    3. Cookie Basics

    4. Subverting Cookies

    5. Protecting Cookies

    6. Contact

    7. Number Game



  • Databases & Sessions

    1. Databases

    2. Popular SQL Databases

    3. Tables & Schemas

    4. SELECT Statements

    5. INSERT Statements

    6. UPDATE Statements

    7. DELETE Statements

    8. JOIN Clauses

    9. PHP & Databases

    10. SQL Injection

    11. Parameterized Statements

    12. PDO and Error Handling

    13. Storing Sensitive Data

    14. Sessions


    Lab Tasks

    1. Gatekeeper



  • Next Steps

    1. Practice, Practice, Practice

    2. Related Topics

    3. Frameworks

    4. Choosing a Framework

    5. Popular Frameworks



Audience

General computing knowledge is required. No programing experience needed.