Course outline for PHP
Pre-requisites for learning PHP
Developers must have knowledge of client/server computing concepts and relational databases
Lab Setup
A system with Linux Operating System (either Ubuntu or Fedora is preferred)
Duration
4 days
Training Mode
Online training for PHP
We provide:
- Instructor led live training
- Self-paced learning with access to expert coaches
- 24x7 access to cloud labs with end to end working examples
All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.
Classroom training for PHP
Classroom sessions are conducted in client locations in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
Note: Classroom training is for corporate clients only
Detailed Course Outline for PHP
Introduction to Web Application Programming
- Static v/s Dynamic applications
- Client/server computing
- TCP/IP protocol
- Application layer protocol – HTTP
- HTTP Request and Response
- Asynchronous requests with XMLHttp
- 3 tier architectures
- Client side applications and frameworks – HTML/JS/CSS
- Server side languages and frameworks
- Overview of Model/View/Controller (MVC )
- Tooling
- Using tooling to inspect page content (HTML/JS/CSS)
- Using tooling to inspect request and response headers
- Using tooling to inspect traffic flow
- Analysis of a few popular client/server applications
- Examples of MVC frameworks
PHP – Getting Started
- Installing PHP
- Configuring Apache2 for PHP
- A simple Hello World page
PHP – Language Basics
- Basic syntax
- PHP Tags
- Interspersing PHP with HTML
- Comments
PHP – Types
- Booleans, Integers, Floating point numbers, Strings
- Arrays
- Resources
- NULL
- Type conversion/juggling
PHP – Variables
- Naming rules and conventions
- Predefined variables
- Variable scopes
- Variable variables
- Constants
- Predefined constants
PHP – More Language Features
- Expressions
- Operators
- Operator precedence
- Arithmetic, Assignment, Bitwise, Comparison, Error Control, Execution, Increment/Decrement, Logical, String, Array and Type Operators
- Control Structures
- if, else, elseif
- while, do-while
- for, foreach
- break, continue
- switch, declare, return
- require, include, require_once, include_once
- goto
PHP – Functions
- User defined functions
- Function arguments
- Pass by value/pass by reference
- Variable length argument lists
- Returning values
- Returning an array of values
- Returning a reference
- Variable functions
- Callbacks
- Anonymous functions
- Built-in functions
- Full function reference
PHP – Classes and Objects
- Creating a class and an object
- Class constants
- Constructors and Destructors
- Visibility
- public, private and protected
- Method and Property Visibility
- Visibility from other objects
- Inheritance
- Scope resolution operator
- Static properties and methods
- Abstract classes
- Interfaces and Interface Inheritance
- Traits
- Overloading
PHP – More Objects
- Object Iteration
- Magic Methods
- Final Keyword
- Object Cloning
- Comparing Objects
- Type Hinting
- Late Static Bindings
- Objects and references
- Object Serialization
- Converting a scalar to object
PHP – Exception Handling
- Catching and Throwing Exceptions
- try/catch/finally
- Creating your own Exceptions
PHP – Namespaces
- Overview of namespaces
- Defining namespaces
- Defining multiple namespaces
- Using namespaces
- Name resolution rules
PHP - Misc
- Predefined Variables
- Generators
- References
- Handling Security Issues
MVC and MVC Frameworks
- Introduction to Model View Controller (MVC)
- Separating the MVC concerns in plain vanilla PHP
- Introduction to MVC frameworks
- What to expect from a MVC framework
- How to choose a good MVC framework
PHP – MVC Frameworks
- Comparison of PHP MVC Frameworks
- Case studies
- Drupal
- Joomla/Wordpress
- CodeIgniter