885. Advanced PHP Programming
In this advanced PHP training course, students will learn advanced features of the PHP web programming
language, its extensions and open source libraries for XML processing. As the technical web programming
paradigm changes, more layers of abstractions are introduced by the PHP open source community. This course
takes a deep dive into those areas such as XML/XSLT, XML-RPC, Smarty Templates, Web Services, Ajax and many more.
This PHP course also explores the built-in advanced Object Oriented language constructs and looks at some of the
best practices with all of the advanced technologies combined. Advanced
PHP Programming course demonstrates that PHP is ready for enterprise Web applications by
showing students how to develop PHP-based applications for maximum performance, stability, and extensibility.
LEARNING OBJECTIVES
- Learn how to program in Object-Oriented PHP
- Learn to process XML with PHP
- Learn to work with the PEAR HTTP_REQUEST Module
- Learn to work with XML RPC and PHP
- Learn to create PHP Web Services
- Learn to work with Smarty Templates to speed up PHP development
Prerequisites:
Students should have some PHP experience.
Course Content
Advanced PHP Techniques
Multidimensional Arrays
Advanced Function Definitions
The HEREDOC Syntax
Using printf() and sprintf()
Developing Web Applications
Documenting Code
Code Style and Structure
Modularizing a Web Site
Affecting the Browser Cache
Advanced Database Concepts
Storing Sessions in a Database
Working with US Zip Codes
Creating Stored Functions
Displaying Results Horizontally
Security Techniques
Remembering the Basics
Validating Form Data
Using PECL Filter
Authentication with PEAR Auth
Using MCrypt
Object-Oriented Programming and PHP
Building a Class
Working with Properties and Functions
Private, Protected, Public modifiers
Interfaces
Building a Web Page Object
PHP Objects in N-Tier Web Architecture
Importance of PHP Business Objects
Inheriting Classes
Inheriting Constructors and Destructors
Overriding Methods
Access Control
Using the Scope Resolution Operator
Creating Static Members
Abstract Classes and Methods
Building an Object-Oriented Payroll System
Exception and Error Handling
Catching Exceptions
Extending the Exception Class
Creating a Shopping Cart
Using the Cart Class
Networking with PHP
Accessing Other Web Sites
Working with Sockets
Performing IP Geolocation
Using cURL
PHP and the Server
Compressing Files
PHP-GTK
Establishing a Cron
Scheduling Tasks on Windows
Using COM with PHP
PHP's Command-Line Interface
Testing Your Installation
Executing Bits of Code
Creating a Command Line Script
Running a Command Line Script
Working with Command Line Arguments
Taking Input
Using PEAR
Using Benchmark
Using Mail_mime
Installing PEAR::HTTP_REQUEST with Dependencies
HTTP_REQUEST Capability
HTTP GET Request
HTTP POST Request
Programmatically Posting to a HTML Form
Parsing the Response
Building a Basic Authentication PHP Client
Ajax and PHP
Introduction to Ajax
A Simple Example
Ajax Technology Stack
Ajax Implementations
Installing and configuring HTML_Ajax Pear Module
Ajax Server
Ajax Client
Debugging Ajax Applications
XML and PHP
What is XML?
XML Syntax
Attributes, Empty Elements, and Entities
Document Type Definitions
Parsing XML
Executing XPath Queries
DOM Interoperability
Using XPath
Installing and Configuring LIBXSL
Applying Server side XSL Transformations
Using XML in N-Tier Architecture
Mixing PHP Objects and XML
Creating RSS Feeds
XML RPC
XML-RPC Implementations
Installing and Configuring PHPXMLRPC
XML RPC Data-Types
XML RPC Server
XML RPC Client
XML RPC Request and Response
Exploring the XML RPC API
PHP Web Services
Web Service Technology Stack
SOAP Soup
Web Services with PHP
Installing NuSOAP
Building a SOAP SERVER
Consuming a Web Service
Generating WSDL Dynamically
Understanding Generated WSDL
WSDL and SOAP Proxies
Complex PHP Web Services
Building Interoperable Web Services
Generating and Handling SOAP Faults
RPC Vs. Document Message Encoding
Serializing the SOAP Envelope
Web Service Best Practices
Smarty Templates
Smarty Overview
Installing and configuring Smarty Pear Module
Setting up a Template
Passing Data to the Template
Smarty for Template Designers
Smarty for Programmers
Smarty in N-Tier Architecture