Description:
PHP is probably the most widely used language in implementing dynamic web sites and applications. It is light weight but used to implement simple as well as complex web based systems. This training on PHP covers the basics as well as the advanced features of PHP. It also goes into covering some useful libraries, frameworks, tools and best practices in implementing database driven web sites and applications.
Training Objectives:
At the end of the training, participants will be able to
- Write MVC architecture based PHP applications and web sites.
- Use object oriented programming features of PHP.
- Use MySQL database to maintain data of the application.
- Use the powerful Propel framework as an object oriented database abstraction layer.
- Work with Pear library.
- Develop and debug PHP applications (with Eclipse PDT and XDebugger).
- Implement session tracking features.
- Implement security in web applications/sites.
- Generate PDF files dynamically using PHP.
Target Groups:
- Those who want to develop database driven web based applications or web sites with PHP (Students, software developers,...).
Prerequisites:
- You should be familiar with using computers. You need not possess programming skills.
- Familiarity with HTML and CSS will be an added advantage. But the training does not assume you are experienced with them.
Communication Language:
English
Duration:
3 days (~24 hours)
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
- This training is done with hands-on lab exercises.
- This training does not teach you HTML, CSS, JavaScript although they are used during coding.
Training Content:
-
PHP - Basics
- Anatomy of a PHP page
- PHP request processing mechanism
- General programming with PHP (data types, variables, expressions, operators, functions, flow control)
- Object oriented coding with PHP
- Include path
- Exceptions
- Constants
- Handling form submissions
- Working with url parameters
-
PHP - Intermediate
- Theme based web site implementation
- Handling file uploads
- Working with cookies
- Session tracking
- Database connectivity (MySQL)
- Sending emails
-
PHP - Advanced
- Regular expressions
- System process execution
- passthru functions
- Output buffering
- Using Pear library (e.g. Sending emails with attachments)
- Memory usage adjustment
- Script execution time adjustment
- Error display configuration
- Configuring XDebugger (for Debugging in Eclipse PDT)
-
PHP - Security
- HTTP Basic authentication
- Form based authentication
- Password hashing (MD5)
- PHP execution modes and implications
- Access restriction with .htaccess (Apache web server specific)
- SQL injection and prevention
- Cross site scripting (XSS) and prevention
- Cross site request forgery (CSRF) and prevention
- Secure coding practices
-
PHP - Other Topics
- Using Propel persistence framework (Propel is a Pear library)
- MVC (Model-Veiw-Controller) implementation of web applications
- Using Eclipse PDT as the development environment
- PDF generation