PHP Programming

From Training Material
Jump to navigation Jump to search

THIS IS A DRAFT

This text may not be complete.

PHP Programming Training Materials

IMPORTANT NOTE for trainers only: 
Please DO NOT change these materials, especially the EXERCISES, without direct permission from: LUKASZ SOKOLOWSKI.

Intro

  • general-purpose scripting language
  • especially suited to web development
  • fast, flexible and pragmatic
  • powers everything from simple blog to the corporate organisations

Intro con't

PHP - recursive acronym for PHP: Hypertext Preprocessor

  • widely-used open source language
  • can be embedded into HTML
  • code is executed on the server, generating HTML which is then sent to the client
  • extremely simple, yet offers many advanced features

Data Structures (refresher only)

  • Associative arrays
  • Session variables, global variables, cookies
  • Date
  • File and File Upload
  • Cookies and Sessions
  • E-mail
  • Error Handling
  • Exceptions Handling
  • PHP Filter

Security

  • authorization and authentication
  • using cookies and sessions

Dealing with Images

GD Library and alternatives

PHP XML

  • SimpleXML
  • Expat Parser
  • XML DOM

Object-Oriented Programming

Terminology Object Declaring classes and constructors Creating and Using Objects Properties and methods Inheritance Access modifiers Magic methods Declaring and using interfaces exception Handling

Using Databases

Methods of data storing data PDO extension Connecting to a database using PDO Operations on data Error Handling PDO Transactions Primary keys Joins Aggregate functions and grouping connect to the database storing passwords executing queries processing data modifying and removing data binding form to records in the database

Programming interfaces

Architecture services Adding to the system API The data format JSON and XML RESTful Services Designing Web Service

Design Patterns

What are design patterns Singleton Pattern Factory Pattern MVC model-view-controller

Efficiency

Research applications performance Code cache

Safety

Filtering input Session fixation Session hijacking SQL injection Storing passwords SSL