Download - Arione Consulting

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Data vault modeling wikipedia , lookup

File locking wikipedia , lookup

Asynchronous I/O wikipedia , lookup

Computer file wikipedia , lookup

Business intelligence wikipedia , lookup

Expense and cost recovery system (ECRS) wikipedia , lookup

PL/SQL wikipedia , lookup

Versant Object Database wikipedia , lookup

Semantic Web wikipedia , lookup

Relational model wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Operational transformation wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

PHP wikipedia , lookup

Transcript
PHP & MYSQL Training Curriculum
BASIC PHP
Prerequisites
All MySQL and PHP training attendees must
be fluent in HTML. The Training can be
customized to any level of programming and
relational database familiarity.
Outline
 PHP Basics
o How PHP Works
o The php.ini File
o Basic PHP Syntax
 PHP Tags
 PHP Statements and
Whitespace
 Comments
 PHP Functions
 Hello World!
o PHP Tags
o PHP Statements and Whitespace
o Comments
o PHP Functions
o Hello World!
o Variables
 Variable Types
 Variable Names (Identifiers)
 Type Strength
 Hello Variables!
 Variable Scope
 Superglobals
 Constants
 Variable-Testing and
Manipulation Functions
o Variable Types
o Variable Names (Identifiers)
o Type Strength
o Hello Variables!
o Variable Scope
o Superglobals
o Constants
o Variable-Testing and Manipulation
Functions
o PHP Operators
o Creating Dynamic Pages
 Single Quotes vs. Double
Quotes
 Howdy World!
o Single Quotes vs. Double Quotes
o Howdy World!
 Flow Control
o Conditional Processing
 If Conditions
o If Conditions
o Loops
 while
 do...while
 for
 break and continue
o while
o do...while
o for
o break and continue
 Arrays
o Enumerated Arrays
 Initializing Arrays
 Appending to an Array
 Reading from Arrays
 Looping through Arrays
o Initializing Arrays
o Appending to an Array




o Reading from Arrays
o Looping through Arrays
o Associative Arrays
 Initializing Associative Arrays
 Reading from Associative
Arrays
 Looping through Associative
Arrays
 Superglobal Arrays
o Initializing Associative Arrays
o Reading from Associative Arrays
o Looping through Associative Arrays
o Superglobal Arrays
o Two-dimensional Arrays
 Reading from Two-dimensional
Arrays
 Looping through Twodimensional Arrays
o Reading from Two-dimensional
Arrays
o Looping through Two-dimensional
Arrays
o Array Manipulation Functions
PHP and HTML Forms
o HTML Forms
 How HTML Forms Work
 A Sample HTML Form
 Form Variables
o How HTML Forms Work
o A Sample HTML Form
o Form Variables
String Manipulation
o Formatting Strings
 Concatenation
 String Manipulation Functions
 Examples of String Functions
o Concatenation
o String Manipulation Functions
o Examples of String Functions
o Magic Quotes
 magic_quotes_gpc
 magic_quotes_runtime
 Recommendation on Magic
Quotes
 Conclusion
o magic_quotes_gpc
o magic_quotes_runtime
o Recommendation on Magic Quotes
Reusing Code and Writing Functions
o Including Files
 require
 require_once
 auto_prepend_file and
auto_append_file
o require
o require_once
o auto_prepend_file and
auto_append_file
o User Functions
 Defining and Calling Functions
 Default Values
 Variable Scope
 By Reference vs. By Value
o Defining and Calling Functions
o Default Values
o Variable Scope
o By Reference vs. By Value
o Form Processing
 Code Organization
o Code Organization
Simple SELECTs
Page-1
o Introduction to the Northwind
Database
o Some Basics
 Comments
 Whitespace and Semi-colons
 Case Sensitivity
o Comments
o Whitespace and Semi-colons
o Case Sensitivity
o SELECTing All Columns in All Rows
o SELECTing Specific Columns
o Sorting Records
 Sorting By a Single Column
 Sorting By Multiple Columns
 Sorting By Column Position
 Ascending and Descending
Sorts
o Sorting By a Single Column
o Sorting By Multiple Columns
o Sorting By Column Position
o Ascending and Descending Sorts
o The WHERE Clause and Operator
Symbols
 Checking for Equality
 Checking for Inequality
 Checking for Greater or Less
Than
 Checking for NULL
 WHERE and ORDER BY
o Checking for Equality
o Checking for Inequality
o Checking for Greater or Less Than
o Checking for NULL
o WHERE and ORDER BY
o The WHERE Clause and Operator
Words
 The BETWEEN Operator
 The IN Operator
 The LIKE Operator
 The NOT Operator
o The BETWEEN Operator
o The IN Operator
o The LIKE Operator
o The NOT Operator
o Checking Multiple Conditions
 AND
 OR
 Order of Evaluation
o AND
o OR
o Order of Evaluation
 Subqueries, Joins and Unions
o Subqueries
o Joins
 Table Aliases
 Multi-table Joins
o Table Aliases
o Multi-table Joins
o Outer Joins
o Unions
 UNION ALL
 UNION Rules
o UNION ALL
o UNION Rules
 Inserting, Updating and Deleting Records
o INSERT
o UPDATE
o DELETE
 Managing Data
o Querying a Database
 mysqli() Overview
 mysqli Methods and Properties
PHP & MYSQL Training Curriculum






 Inserting and Updating
Records
 mysqli Prepared Statements
o mysqli() Overview
o mysqli Methods and Properties
o Inserting and Updating Records
o mysqli Prepared Statements
PEAR:DB
o Advantages and Disadvantages of
PEAR DB
 Why use a database
abstraction layer?
 When not to use a database
abstraction layer?
o Why use a database abstraction
layer?
o When not to use a database
abstraction layer?
o Using PEAR DB
Authentication with PHP and SQL
o A Database-less Login Form
Regular Expressions
o Perl-compatible Regular Expression
Functions
 preg_match()
 preg_replace()
 Regular Expression Tester
o preg_match()
o preg_replace()
o Regular Expression Tester
o Regular Expression Syntax
 Start and End ( ^ $ )
 Number of Occurrences ( ? + *
{} )
 Common Characters
( . \d \D \w \W \s \S )
 Grouping ( [] )
 Negation ( ^ )
 Subpatterns ( () )
 Alternatives ( | )
 Escape Character ( \ )
o Start and End ( ^ $ )
o Number of Occurrences ( ? + * {} )
o Common Characters ( . \d \D \w \W
\s \S )
o Grouping ( [] )
o Negation ( ^ )
o Subpatterns ( () )
o Alternatives ( | )
o Escape Character ( \ )
o Form Validation Functions with
Regular Expressions
Session Control and Cookies
o Sessions
 Configuring Sessions
 Session Functions
o Configuring Sessions
o Session Functions
o Cookies
Sending Email with PHP
o mail()
 Shortcomings of mail()
o Shortcomings of mail()
o PHPMailer
File System Management
o Opening a File
 fopen()
o fopen()
o Reading from a File
 fgets()
o fgets()
o Writing to a File
 fwrite()
o fwrite()
o File Locking
 flock()
o flock()
o Uploading Files via an HTML Form
o Getting File Information
o More File Functions
o Directory Functions
 Getting a Directory Listing
o Getting a Directory Listing
 PHP Web Services

ADVANCE PHP Duration: 7 days
Advanced PHP Objectives
 Learn how to program in ObjectOriented 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
Outline
 Object-Oriented PHP
o
o
o
o
o
o
o
o



Building a Class
Working with Properties and Functions
Private, Protected, Public modifiers
Inheritance
Interfaces
Building a Web Page Object
PHP Objects in N-Tier Web Architecture
Importance of PHP Business Objects
PHP XML Support
o Simple XML Object
o Executing XPath Queries
o DOM Interoperability
o Using XPath
o Installing and Configuring LIBXSL
o Applying Server side XSL
Transformations
o Using XML in N-Tier Architecture
o Mixing PHP Objects and XML
PEAR: HTTP_REQUEST MODULE
o Installing PEAR::HTTP_REQUEST
with Dependencies
o HTTP_REQUEST Capability
o HTTP GET Request
o HTTP POST Request
o Programmatically Posting to a
HTML Form
o Parsing the Response
o Building a Basic Authentication PHP
Client
XML RPC
o XML-RPC Implementations
o Installing and Configuring
PHPXMLRPC
o XML RPC Data-Types
o XML RPC Server
o XML RPC Client
o XML RPC Request and Response
o Exploring the XML RPC API
Page-2


o Web Service Technulogy Stack
o SOAP Soup
o Web Services with PHP
o Installing NuSOAP
o Building a SOAP SERVER
o Consuming a Web Service
o Generating WSDL Dynamically
o Understanding Generated WSDL
o WSDL and SOAP Proxies
Complex PHP Web Services
o Building Interoperable Web Services
o Generating and Handling SOAP
Faults
o RPC Vs. Document Message
Encoding
o Serializing the SOAP Envelope
o Web Service Best Practices
Ajax with PHP
o Ajax Overview
o Ajax Technulogy Stack
o Ajax Implementations
o Installing and configuring
HTML_Ajax Pear Module
o Ajax Server
o Ajax Client
Smarty Templates
o Smarty Overview
o Installing and configuring Smarty
Pear Module
o Setting up a Template
o Passing Data to the Template
o Smarty for Template Designers
o Smarty for Programmers
o Smarty in N-Tier Architecture
MySQL5
Duration: 10 days
Outline
 Introduction to Dataliase Concepts and
MySQL
o Features of a Relational Dataliase
o Where does SQL Fit in?
o Dataliase Access
o Why MySQL?
o The History of MySQL
 Installation, Configuration, and Upgrading
o MySQL Software
o MySQL Software Features
o Preparing to Install MySQL
o Availalile Client Software
o After the Download
o Configuring the Server
o Starting the Server
o The Initial User Accounts
o Verifying Server Operation
o Upgrading
o Copying a Dataliase lietween
Architectures
o Environment Varialiles
 Dataliase Design
o Developing the Design of a
Dataliase
o Dataliase Entities
o The Primary Key
o Foreign Key Relationships
o Data Models and Normalization
o Second Normal Form (2NF)
PHP & MYSQL Training Curriculum




o

o Third Normal Form (3NF) and
lieyond
o Translating a Data Model into a
Dataliase Design
Using the mysql Command-Line Tool
o Running the mysql Client
o Customizing the mysql Prompt
o mysql Commands
o Using the Help Command
o Some Useful mysql Options
o Working with a Dataliase
o Examining Talile Definitions
o Other SHOW Options
DDL – Data Definition Language
o DDL and DML Overview
o liuilding Talile Definitions
o Identifiers
o Column Definitions
o Numeric Datatypes
o ENUM and SET Types
o Date and Time Datatypes
o AUTO_INREMENT
o UNIQUE Constraints
o Primary Keys
o Modifying Taliles
o Foreign Keys
o Renaming and Dropping Taliles
DML – Data Manipulation Language
o DDL and DML Overview
o Data Values: Numliers
o Data Values: Strings
o Working with NULL Values
o liulk Loading of Data
o liulk Data Format
o Working with Special Values in liulk
Data
o Adding New Talile Rows with
INSERT
o Copying Rows
o UPDATE
o REPLACE
o Removing Talile Rows
o Transactions
o InnoDli: Using Transactional
Processing
o Locking Taliles
Queries – The SELECT Statement
SELECT Syntax Summary
o Choosing Data Sources and
Destinations for SELECT
o Presentation of Talile Data with
SELECT
o lieing Selective Aliout Which Rows
are Displayed
o User-Defined Varialiles
o Expressions and Functions
o Control Flow Operators and
Functions
o Function Names
o Comparison Operators and
Functions
o String Functions
o Numeric Operators and Functions
o Date and Time Functions
o Forcing Data Interpretation
o Miscellaneous Functions
liuilding a Result Set from Several
Sources
o UNION
o Comliining Data from Two Taliles





o
o Using WHERE to Choose Matching
Rows
o INNER JOIN
o OUTER JOINs
o Multiple Taliles, Fields, Joins, and
Ordering
o SELECT * and USING Columns
Advanced SQL Techniques
o MySQL Pattern Matching
o Multipliers, Anchors, and Grouping
o GROUP liY
o Aggregates
o Suliqueries
o Suliquery Comparisons and
Quantifiers
o Other Suliqueries
o Suliquery Alternatives and
Restrictions
o InnoDli Multi-Talile Updates and
Deletes
o liuilding a VIEW
o Updatalile VIEWs
MySQL Storage Engines
o Storage Engine Overview
o Other Storage Engine Types
o The liasics of Commonly Used
Storage Engines
o MyISAM Limits and Features
o MyISAM Data File Format
o InnoDli and Hardware Limitations
o InnoDli Shared Talilespace
Configuration
o InnoDli Per-Talile Talilespaces
o InnoDli Data Management
o MEMORY and FEDERATED
o MERGE and ARCHIVE
Utilities
o Client Overview
o Specifying Options for CommandLine Clients
o Client Option Files
o Checking Taliles with myisamchk
and mysqlchk
o Using myisamchk and mysqlchk for
Repairs
o mysqlshow and mysqlimport
o Using mysqldump
o The Query lirowser
o MySQL Query lirowser: Deeper
o MySQL Administrator: liasic
Operations
o MySQL Administrator: Monitoring
the Server and User Administration
o Third Party Tools
Administering a Dataliase and Users
o The Server-Side Programs
o Starting the MySQL Server
o Using SET for Server Options
o Talile Management
o Server Log Files
o mysqladmin
o liackup and Restore
o Miscellaneous Functions
o User Account Management
o Understanding User Privileges
o User Account Rights Management
o User Account Privileges
o Managing Access to the Dataliase
Environment
Dataliase Programmaliility
Stored Routines: liasic Concepts
Page-3
o
o
o
o
o
Routine Creation and Use
Flow Control Statement
Writing lilocks of Code
Triggers
Stored Routines, Triggers, and the
liinary Log
o Talile HANDLERs
o Prepared Statements
 Optimization and Performance Tuning
o Hardware Limitations
o Optimizing the MySQL Server’s
Interaction with the External World
o Adjusting the MySQL Server
Configuration
o Optimizing Your Dataliase
o Optimizing Queries
o The Use of Indexes to Support
Queries
o Thinking aliout JOIN Queries
o Query Sorts, Indexes, and ShortCircuiting
o INSERT, UPDATE, DELETE, and
Talile Locks
o Some General Optimizations
o Optimizations Specific to MyISAM
o Optimizations Specific to InnoDli
 MySQL Programming Interfaces
o Dataliase Application Architectures
o Connecting MySQL to ODliC
o Connecting MySQL to MS/Office
and MS/Access
o Connecting to MySQL from Perl
o Programming Perl to MySQL
o Connecting to MySQL from PHP
o Programming PHP to MySQL
Note: Classes will be 2 hrs./day