Name
PHP Fundamentals

Code
3550

Duration
40 Hours

Description
PHP is a powerful HTML\XML embedded scripting language used for rapid development of dynamic web applications. Most of its syntax is borrowed from C, Java & Perl. This course focuses on PHP fundamental topics. This course can serve as a quick jump start for those who want to start developing in PHP. This course covers the relatively new capabilities that were added in PHP5.3, PHP5.4, PHP5.5, PHP5.6 and PHP7.0.

Population
Software developers with experience in OOP

Objectives
Be capable of developing PHP web applications.

Prerequisites
Practical experience in object oriented programming, basic knowledge of SQL, basic knowledge of HTML, JavaScript & CSS.

Topics
Introduction to PHP
What is PHP?
History
Running Environments
PHP Basics
Syntax
PHP Tags
Scripting Structure
Comments
Whitespaces
Compound Statements
The echo Statement
PHP Data Types
Scalar Data Types
Compound Data Types
The NULL Data Type
The Resource Data Type
Type Conversion
Variables
Variable Variables
Function within Variable
Variables Validation
Constants
Operators
Arithmetic Operators
Incrementing & Decrementing Operators
String Operators
Bitwise Operators
Assignment Operators
Comparison Operators
Logical Operators
Error Control Operators
Execution Operator
Operators Associativity
Operators Precedence
PHP Shorthand Operators
Control Structures
If Statement
Treneary Statement
Switch Statement
The while Statement
The do..while Statement
The for Statement
The break Keyword
The continue Keyword
The include Statement
The require Statement
The require_once Statement
Binary Number Format
The empty Function
The Exponentiation Operator
Constants Scala Expressions
The Combined Operator
Unicode
The IntlChar Class
The intdiv Function
Divide by Zero
Numerical Strings Hex Support
Functions
What is a function?
The Returned Value
Function Parameters
Variable Number of Arguments
Passing Arguments By Reference
Returned Value (By Reference)
Variables Scope
Accessing Global Variables
Anonymous Functions
Variadic Functions
Arguments Unpacking
Scalar Type Declaration
Return Type Declaration
The CSPRNG Functions
Arrays
What is an Array?
The array() Construct
The var_dump Function
The print_r Function
Array Inner Structure
Multi Dimensional Array
The list() Construct
The '+' Operator
The '==' & '===' Operators
The '!=' & '!==' Operators
The count() Function
The is_array() Function
The isset() Function
The array_key_exists() Function
The in_array() Function
The array_flip() Function()
The array_reverse() Function
The Array Pointer
The foreach Construct
The array_combine() Function
The array_walk() Function
The array_walk_recursive() Function
Arrays Sorting
Arrays Shuffle
Arrays Randomized Elements
Arrays as Stacks
Arrays as Queues
Arrays as Sets
Arrays Shorter Syntax
Array Dereferencing
Function Array Dereferencing
The ?? Operator
Array Constants
Strings
Strings in PHP
Simple Strings
Embedded Variables
Heredoc
The Backslash
The strlen() Function
The strstr() Function
Strings as Arrays
Strings Comparison
The strcmp() & strcasecmp() Functions
The strncasecmp() Function
The strpos() Function
The strstr() Function
The stripos() Function
The stristr() Function
The strrpos() Function
The strspn() Function
The strcspn() Function
The str_replace() Function
The substr_replace() Function
The substr() Function
The strLocale() Function
The money_format() Function
The printf() Function
The sscanf() Function
String Direct Dereferencing
Regular Expressions
Delimiters
Meta Characters
Grouping Expressions
Quantifiers
Sub Expressions
The preg_match() Function
The preg_match_all() Function
The str_replace() Function
The preg_replace() Function
The preg_replace_callback_array() Function
Web Forms
HTML Forms
The $_GET Super Global Array
The urlencode() Function
The $_POST Super Global Array
The $_REQUEST Super Global Array
Uploading Files
The $_FILES Super Global Array
Input Validation
The password_hash Function
The hash Function
HTTP Headers
The header() Function
HTTP Compression
The ob_start() Function
The ob_gzhandler() Function
The php.ini Compression Setting
Browser Cashing
Browser Cookies
The setcookie() Function
Accessing Cookies
Cookie Array Values
Cookie Deleting
HttpOnly Cookie
Sessions Management
What is Session?
The session_start() Function
The $_SESSION Super Global Array
The session_status() Function
The session_id() Function
Session Upload Progress
The session_start() Function Options
Object Oriented Programming
Defining Class
Class Instantiation
Object By Reference
The '->' Operator
Constructor
Destructor
The $this Keyword
The Scope
Inheritance
Overriding Methods
The parent:: Construct
The final Keyword
Properties Initialization
Static Methods
Static Properties
Class Constants
Abstract Class
Interface
The instanceof Operator
Objects Serialization
The __toString Function
The __invoke Function
The __autoLoad Function
Type Hinting
Traits
Traits Precedencs
Multiple Traits
Traits Conflicts
Changing Trait's Method Visibility
Trait Composed of Other Traits
Using Class Variables & Methods
Trait with Abstract Members
Trait with Static Methods
Trait with Static Variable
Trait with Properties
Members Access on Instantiation
Calling Static Methods in Class::{expr} Syntax
The _get() Magic Function
The __set() Magic Function
The __PHP_Incomplete_Class Object
The __debugInfo() Magic Function
Anonymous Class
The Filtered unserializae() Function
Exceptions Handling
Exception Class
Throwing Exceptions
Try & Catch
Nesting Try & Catch Blocks
The Catch All Function
The Finally Block
The assert Function
Reflection Capabilities
Reflection Classes
The ReflectionFunction Class
The ReflectionParameter Class
The ReflectionClass Class
The ReflectionMethod Class
The ReflectionProperty Class
The ReflectionExtension Class
The ::class Keyword
The ReflectionGenerator Class
The ReflectionType Class
Databases Connectivity
Tables Model
The SQL SELECT Statement
The WHERE Clause
The Order By Keyword
The DESC Keyword
The Insert Into Statement
The Update Statement
The Delete Statement
Join Statements
Inner Joins
Outer Joins
Transactions
Indices
PHP & MySQL
MySQLi
Connecting Database
Closing Connection
Simple Queries
MySQLi Prepared Statement
MySQLi Transactions
The real_escape_string Function
The ctype_alpha Function
PHP Data Objects
PHP ORM
Propel Framework
MySQL Native Driver
The Standard PHP Library
Data Structures
Iterators
Interfaces
The Countable Interface
The ArrayAccess Interface
The Iterator Interface
The RecursiveIterator Interface
The SeekableIterator Interface
The SplObserver Interface
The SplSubject Interface
The Traversable Interface
Functions
The class_implements Function
The class_parents Function
The iterator_count Function
The iterator_to_array Function
Files Handling
Miscellaneous Classes and Interface
The ArrayObject Class
Accessing Files
Specific Resources Streams
Filter Streams
Traditional C Like Files Access
CSV Files
Thre readfile() Function
The file_get_contents() Function
The file_put_contents() Function
Working with Directories
Files Access
Unix Permissions
Networking
The require Command
The include Command
Resource Context
Client Server Applications
Stream Filters
Extensions
What is Extension?
The Available Extensions
Extensins Development
The Zend Server Control Panel
Configuration
The php.ini File
The short_open_tag Directive
The asp_tags Directive
The precision Directive
The disable_functions Directive
The disable_classes Directive
The zend.script_encoding Directive
The default_charset Directive
Performance
Code Profiling
Caching
Closures
What is a Closure?
The bindTo Function
The Closure class Function
The use Keyword
Generators
What is a Generator?
Return Keys & Values
Generator Function By Reference
Generator Return Expression
Generator Delegation