Advanced PHP and Oracle PL/SQL for Web Application Development

  • Print

 

Course Overview

This Intermediate-to-Advanced Course teaches PHP-Oracle developers the advanced concept and skills to create robust web applications using PHP and Oracle. In advanced PHP programming module, it would covers object-oriented development, processing XML, creating and consuming SOAP-based web services, handling AJAX calls, and securing PHP. This course also helps the developers to focus on writing stored procedures, functions, packages, and triggers, and implement complex business rules in Oracle. They will learn programming, management, and security issues of working with PL/SQL program units. Programming topics will include the built-in packages that come with Oracle, the creation of triggers, and stored procedure features. This also includes developing and tuning efficient and effective PL/SQL subprograms.

 

Download Brochurepdf-logo 
 

Pre-requisites

All attendees must be familiar with the fundamentals of building data-driven PHP web applications and Oracle DBA, either from their own experience or from previous basic training course.

 

Advanced PHP and Oracle - Schedule

Day 1

09.00am – 10.00am

Object-Oriented PHP

  • Building a Class
  • Constructors and Destructors
10.00am – 10.30am

Breakfast

10.30am – 12.45pm

  • Working with Properties and Functions
  • Private, Protected, Public modifiers
  • Inheritance
  • Interfaces

12.45pm – 02.15pm

Lunch

02.15pm – 05.00pm

PHP XML Support

  • Simple XML Object
  • Executing XPath Queries
  • DOM Interoperability
  • Using XPath
  • XSLT and PHP

Day 2

09.00am – 10.00am

PHP Web Services

  • Web Services Technology Stack
  • Web Services with PHP
  • Working with PHP and WSDL
  • PHP and SOAP
  • Debugging Web Services

10.00am – 10.30am

Breakfast

10.30am – 12.45pm

PL/SQL Programming Concepts Review

  • Identify PL/SQL block structure
  • Create procedures
  • Create functions
  • List restrictions and guidelines on calling functions from SQL expressions

12.45pm – 02.15pm

Lunch

02.15pm – 05.00pm

  • Create packages
  • Review of implicit and explicit cursors
  • List exception syntax
  • Identify the Oracle supplied packages

Designing PL/SQL Code

  • Describe the predefined data types
  • Create subtypes based on existing types for an application
  • List the different guidelines for cursor design
  • Cursor variables

                                                                        Day 3

09.00am – 10.00am

Using Collections

  • Overview of collections
  • Use Associative arrays
  • Use Nested tables
  • Use VARRAYs

10.00am – 10.30am

Breakfast

10.30am – 12.45pm

  • Compare nested tables and VARRAYs
  • Write PL/SQL programs that use collections
  • Use Collections effectively
  • Executing PL/SQL Code in PHP
  • Passing XML to stored procedure via PHP

12.45pm – 02.15pm

Lunch

02.15pm – 05.00pm

Manipulating Large Objects

  • Describe a LOB object
  • Use BFILEs
  • Use DBMS_LOB.READ and DBMS_LOB.WRITE to manipulate LOBs
  • Create a temporary LOB programmatically with the DBMS_LOB package
  • Introduction to SecureFile LOBs
  • Use SecureFile LOBs to store documents
  • Convert BasicFile LOBs to SecureFile LOB format
  • Enable reduplication and compression
  • File Manipulation in Oracle using PHP

                                                                        Day 4

09.00am – 10.00am

Ajax with PHP

  • Ajax Overview
  • Ajax on the Server
  • Ajax on the Client
  • JSON, Ajax and PHP

10.00am – 10.30am

Breakfast

10.30am – 12.45pm

Performance and Tuning

  • Understand and influence the compiler
  • Tune PL/SQL code
  • Enable intra unit inlining
  • Identify and tune memory issues
  • Recognize network issues

12.45pm – 02.15pm

Lunch

02.15pm – 05.00pm

Improving Performance with Caching

  • Describe result caching
  • Use SQL query result cache
  • PL/SQL function cache
  • Review PL/SQL function cache considerations

Analyzing PL/SQL Code

  • Finding Coding Information
  • Using DBMS_DESCRIBE
  • Using ALL_ARGUMENTS
  • Using DBMS_UTILITY.FORMAT_CALL_STACK
  • Collecting PL/Scope Data
  • The USER/ALL/DBA_IDENTIFIERS Catalog View
  • DBMS_METADATA Package

                                                                        Day 5

09.00am – 10.00am

Safeguarding Your Code Against SQL Injection Attacks

  • SQL Injection Overview
  • Reducing the Attack Surface
  • Avoiding Dynamic SQL

10.00am – 10.30am

Breakfast

10.30am – 12.45pm

  • Using Bind Arguments
  • Filtering Input with DBMS_ASSERT
  • Designing Code Immune to SQL Injections
  • Testing Code for SQL Injection Flaws
  • PHP and Security
    • General PHP security
    • Data Validation
    • Protecting against SQL Injection
    • Thwarting Cross-site Scripting
    • Sensitive Data Management

12.45pm – 02.15pm

Lunch

02.15pm – 05.00pm

Work with Mini Project