These are key elements that make up the course. Lessons and exercises focus on these things.

No lesson sequencing is implied here. The course's structure is not reflected here, either. That is, there won't be an HTML/CSS section, followed by a PHP section, etc.

Concepts

Web tech basics

  • Client/server
  • HTTP requests and responses
    • Post and get
  • Subdomains
  • Organizing server files

HTML/CSS

  • Page structure
  • Basic tags
    • Headings
    • Paragraphs
    • Lists
  • Links
    • Relative, absolute, root relative
  • Images
  • Classes and ids
  • Basic CSS
    • Font properties
    • Color properties
  • Box model
  • Divs and spans
  • Forms

Databases

  • Place of DB in web app architecture
  • Tables
  • Fields
  • Data types: numeric (integer and float) and text (short and long)
  • Primary keys
  • Single-table SELECT
  • Multi-table SELECT
  • INSERT
  • UPDATE
  • DELETE

PHP Programming

  • Variables
  • Session variables
  • Operations
  • Computation
  • Ifs
  • While loops
  • Output to HTML
  • Input from forms
  • Input from URL
  • Require file
    • Navbar - not sensitive
    • DB connection info - secure
  • Sanitize user input
  • Classes and objects
    • Make objects that encapsulate records?

Models

  • Basic client/server
  • Box model
  • Web app CRUD
  • Linking tables with keys

Principles

  • Isolate sensitive information
  • DRY
  • Don't trust user data
  • Abstraction

Patterns

  • HTML page structure (body not populated)
  • HTML page layout (with header, sidebar, and footer)
  • Page made of included fragments
  • Navbar
  • Connect to DB
  • Class encapsulating a record?
  • Access check at start of page
  • Errors as strings returned from methods.
  • Single record display
  • Record table with operation links
  • Database connection in PHP
  • Single-table SELECT
  • Multi-table SELECT
  • Record
  • Record set
  • Showing a record
  • Deleting a record
  • Creating a record from a form
  • Updating a record from a form
  • Validating form data
  • Loop over record set
  • User roles
  • Log in
  • Log out
  • Accumulate
  • Multiway if
  • Guard
  • Code library

Procedures

  • Create hosting account
    • Choose domain name
  • Set up subdomain
  • File management - cPanel
  • File management - FTP
  • Editing files
  • Creating a database
  • Changing a database
  • Debugging
  • Testing a11y