Course details

This PHP course is designed to enable beginner level web developers and others with limited programming experience to build dynamic database driven e-commerce web sites using PHP programming language. This training course also further develops and enhances the skills of intermediate / experienced PHP programmers by introducing them to advanced techniques, tools and methodologies that can be used to build complex, scalable, PHP applications. Since PHP is a rich and task-specific language, the course covers the most important range of functions in depth, and equips delegates to understand the remaining less essential aspects. At the instructor's discretion, training material modules may be omitted if the pace is slightly slower than anticipated.

PHP is Open Source and Cross Platform, running on UNIX, Linux, MS Windows, Apple Mac, AS/400 and more, and is often used with a database and web server such as MySQL and Apache. At the end of the course, students will be able to create their own database driven project.

Week 1:

Web Development Fundamentals

  • Introduction to Web Technology
  • Choosing Code Editors / IDEs
  • Understanding HTML Markup
  • Introduction to HTML5
  • Introduction to CSS
  • Introduction and difference between Server Side and Client Side Scripting Language
  • Using Bootstrap framework

PHP Introduction

  • Introduction
  • PHP as a Server Side Scripting Language
  • How PHP scripts works and why use PHP?
  • Installation and Configuration: Setting up PHP Development Environment
  • AMP Stack and Working with configuration files (php.ini and httpd.conf)
  • PHP CLI (Command Line Interface)
  • Runtime Configuration
  • Basic overview of working in team using version control tool like GIT, Github,
  • Other tools overview like composer for package management
  • Syntax, Quotes, Comments and Special Characters
  • Building and running our first program
  • Data types
  • Debugging basics
  • PHP web concepts

             - Web Architecture (Client / Server communications)

             - How to embed PHP into HTML

             - How to embed HTML into PHP

             - Validating and Escaping

Workout:

  • Basic examples of writing HTML and PHP code simultaneously,

Week 2:

PHP Identifiers

  • Variables
  • Constants
  • Arrays
  • Types of Arrays (Indexive / Associative)
  • Single Dimensional & Multi-Dimensional Arrays
  • Accessing Arrays
  • Playing with Arrays
  • Array functions - size, merging, sorting etc...

Operators

  • Introduction
  • Assignment Operators
  • Arithmetic Operators
  • Comparison Operators
  • Increment / Decrement Operators
  • String Operator (Concatenation)
  • Logical (or Relational) Operators
  • Conditional (or ternary) Operator
  • Error suppressor (@)
  • Operators Precedence

Control Structures (Conditional statements and Loops)

  • Usage of Control structures
  • Types of Conditional Statements
  • if else condition
  • The switch statement
  • Loop Statements
  • for, while , do while loops
  • break and continue statements
  • foreach loop
  • Nested control structures and loops

Workout:

  • Working examples of arrays
  • Working with table and array data using loops,
  • Handling 2 dimensional, 3 dimensional and multi
  • dimensional array data and display in tabular form,

Week 3:

Understanding HTTP Verbs and Methods

  • GET Method
  • POST Method
  • DELETE Method
  • Form Handling with these Methods
  • Working with forms (in detail)
  • Creating a form with different form inputs
  • Using hidden fields
  • Redirecting the user from one page to another
  • File handling using form (multipart form data)
  • Delete a File

PHP Global Variables (Superglobals)

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_SESSION
  • $_COOKIE

Session and Cookies

  • Understanding Session and Cookies
  • Creating session
  • Assigning data to Session Variables
  • Reading From Session Variables
  • Destroying Session and Session Data
  • Setting Cookies
  • Reading Cookies
  • Expiration of Cookies

Workout:

Working with forms

Passing and Handling Data between pages

  • Using GET and POST method in form to pass data
  • Using link and query string to pass data using GET method
  • Using SESSION to access data in multiple pages
  • Using COOKIE to handle data between multiple page

Week 4:

Function

  • Introduction
  • Usage of function
  • Types of function (Predefined (Inbuilt) & User Defined function)
  • Function parameters (With or without and conditional parameters)
  • Arguments by value and reference
  • Returning values from a function
  • Variable Scopes of a function
  • Working with Some useful functions
  • Date and time function
  • Include and require
  • Templating using include and require

Project Work:

  • Templating HTML template (Separating header, footer, body) using include and require
  • Bootstraping index.php to access other pages and handling 404 error
  • Creating and managing simple code architecture and library prior to starting project
  • Login System

             - Building a simple login system using array data, session and cookie

             - Creating profile page and preventing access to login secured page without login

Week 5:

Working With the File System

  • File system Constants
  • Creating and deleting a file
  • Reading and writing text files
  • Working with directories in PHP
  • Checking for existence of file
  • Determining file size
  • Opening a file for writing, reading, or appending
  • Writing Data to the file
  • Reading characters
  • File System Performance

String Manipulation & Patterns

  • Formatting String for Presentation (printf, sprintf)
  • Formatting String for Storage
  • Joining and Splitting String
  • Comparing String
  • Matching and replace Substring
  • Extracting substrings
  • Determining the length of string
  • String Patterns
  • Matching patterns
  • Finding matches
  • Replace patterns

Sending Email

  • Introduction to SMTP
  • Sending Emails with PHP

Database

  • Introduction To Database
  • What is RDBMS technology?
  • Difference between SQL and NoSQL Database
  • Introduction to MySQL / MariaDB and Other databases
  • Understanding Database, Tables, Fields
  • Introduction to SQL (Structured Query Language)
  • Data modeling
  • MySQL Command Line Usage / Terminal MySQL
  • Using Database Management tools (phpMyAdmin/ MySQL Workbench etc.) to handle database
  • Creating and managing database
  • Selecting Database
  • Creating Tables
  • Auto Increment and Indexing a columns in tables
  • Inserting Data into tables in different ways via query
  • Updating Data and Table Structure
  • Selecting from table in different ways
  • Deleting tables and drop database
  • Alter Table structure

Workout:

  • Using include and require to manage function library
  • Working with file examples
  • Formatting string examples
  • Using file to handle system and error logs
  • Query examples using database tools like command line, phpMyAdmin, MySQL Workbench etc.
  • Email sending using contact us form

Week 6:

PHP Database Extensions and Drivers

  • Depreciated MySQL extension
  • MySQL Improved Extension (MySQL procedural and object based)
  • PHP Data Objects (PDO) API
  • ODBC
  • Connecting with databases
  • Database Operations using different drivers
  • Working with Database using PHP code

             - Different PHP Drivers to connect to MySQL

             - Connecting to the MYSQL Database

             - Perform CRUD Operations

Project Work:

  • Creating a full-fledged product catalog project
  • Implement Login System using database
  • Manage product catalog using admin section
  • Manage CMS pages from admin section
  • Display Product Catalog and CMS pages in user end website
  • Handle Contact us page and send email

Week 7: Advanced Course

Object Oriented PHP -Constructs

  • Introduction to OOP
  • The class construct
  • Creating and Defining Class in PHP
  • Instantiating a class
  • Constructors and Destructors
  • Class constants
  • Attributes and methods
  • Member visibility: Access Modifiers / Specifiers
  • Static properties and methods
  • Inheritance
  • Overrides
  • Class and method abstraction
  • Object Interface
  • OOP Keywords (Class Autoload, Static & Final Keywords)
  • Preventing a Class from Inheritance( final keyword)
  • Autoloading Classes / Magic methods
  • Serializing Objects
  • Destroying Objects
  • Type hinting
  • Traits
  • Namespaces
  • Generators
  • Object cloning and comparison
  • Functions that work with classes
  • Exceptions

Workout:

  • Examples

Week 8:

Object Oriented PHP - Implementation and MVC

  • Course application OOP implementation
  • Architecturally thinking our application
  • File structure / Code file organization
  • Code Architecture
  • Code Structure and Documentation
  • Managing Code Library and Folders
  • Modules (Modularizing a Web Application)
  • Bootstrapping a File
  • Design pattern and introduction
  • The Singleton pattern
  • The Factory Pattern
  • Model / View / Controller design pattern implementation
  • Controllers and input classes
  • Core classes and their role
  • Domain classes, services and business logic
  • Domain classes, services and business logic
  • Form and input classes and abstraction
  • Model classes and abstraction, database access and patterns
  • View classes and layouts

Workout:

  • Re-structuring our code library
  • Creating an MVC framework
  • Implement these code architecture with project work

Project Work:

  • Creating an application using the MVC code architecture (a complete ecommerce application including payment integration)

Week 9:

Database Operations Advanced Topics

  • User Management and Privileges
  • GRANT and REVOKE Statements
  • Creating Primary, Index and Unique Keys
  • Primary Key, Foreign Key Relationship and Mapping
  • Maintaining Foreign Key Constraints
  • Joins and Types of JOINS with examples
  • Sub Queries
  • VIEWS
  • Functions, built
  • in functions, User defined functions
  • Prepared Statements
  • Stored Procedures and Triggers
  • PL/SQL (CASE, LOOPS and Cursors)
  • Transactions
  • Patterns in database design

Workout:

  • Advanced database examples
  • Connectivity examples using php script

Project Work:

  • Re-create Login system using Database
  • Create a simple CRUD application using the HTML template.

Week 10:

PHP standards

  • Basic coding standard (PSR1, PSR2 etc)
  • Logger interface and standard
  • Autoloading and autoloading standard
  • Caching interface and standard
  • Messaging interface and standard

JavaScript and jQuery Basics

  • Introduction to JavaScript
  • Data types, operators, conditions
  • Events, function
  • Array and Objects
  • jQuery Syntax, Events
  • Some jQuery functions
  • jQuery Syntax and Events
  • jQuery Effects
  • jQuery Selectors and Traversing
  • jQuery Custom Functions
  • jQuery load, get, post
  • jQuery Ajax

Project Work:

  • Continue the project work
  • Implement JavaScript and jQuery in the project

Week 11:

Internet communications and Validations

  • HTML web forms and URLs
  • Server side input validation
  • Client side input validations
  • Session and cookie protection
  • Output control
  • Headers and browser caching

Try / Catch Exception Handling

  • Handling PHP Exceptions
  • Using Try & Catch blocks
  • The Exception Object
  • Generating Custom Exceptions
  • Multiple Catch Blocks
  • Default Exception processing

Project Work:

  • Continue the project work and implement server side and client side validation rules in the project.

Week 12:

Web services

  • Web services
  • Data formats
  • Parsing APIs
  • Web services requests
  • SOAP services
  • RESTFUL services
  • Handling JSON in PHP
  • Parsing JSON
  • JSON encoding / decoding
  • PHP and XML
  • What is XML
  • XML Syntax
  • Document Type Definitions
  • Parsing XML With PHP
  • Fetching and handling RSS Feeds
  • Using XML as a String
  • Streams

Error Handling and Debugging Techniques

  • PHP Error Handling
  • Error Logging and Reporting
  • Creating Custom Error Handlers
  • Suppressing Errors
  • PHP Debugging Methods
  • Using Debugging Tools (xdebug)
  • Creating Conditional Debug Code

Project work

  • Continue project work
  • Working with RESTful web services in the project
  • Implement payment gateway using Paypal
  • Implementation of SMS API

Week 13:

Framework: Laravel

  • Introduction
  • Routing
  • Migration
  • Seeding
  • Scaffolding
  • ORM
  • Templating using blade

Project work

  • Create a CRUD application using Laravel framework

Week 14:

Working with GD Library and creating pdf

  • Introduction to GD library
  • Working with images
  • PDFLib() Distribution
  • Pdf creating framework: fpdf etc

Trending Tools

GIT version control system basics

  • Push content / download
  • See version / traverse through older versions
  • etc

Composer

  • Composer files
  • Composer.phar
  • Composer.json
  • Important composer commands
  • The "vendor" directory
  • Composer API docs and packages

GruntJS and Node.js for automation

Using GruntJS for checking php code standard PSR1, PSR2

Project work

  • Image generation
  • Creating a Simple Image
  • Using True Type Fonts
  • Saving and Building on Existing Images
  • Creating a Captcha Image
  • Creating PDFs

             - Creating a Simple PDF

             - Adding Content to PDFs

  • Continue project work

Week 15:

Wrapping up the courses

Regular expressions

  • Working With Regular Expressions
  • The basic regular expressions
  • Software unit testing

             - Introduction to PHPUnit

             - Testing PHP Classes and Functions

  • PHP documenter
  • Web security

Web Security in PHP

  • Introduction to Web Security
  • Security concerns in MySQL
  • SQL/OS/Code Injection
  • Cross Site Scripting (XSS) / CSRF Attacks
  • Session Fixation
  • How to prevent from attacks
  • Implementing Security in PHP
  • Security concerns in the Web Authoring Tool
  • Client side Validating Forms with JavaScript
  • HTML5 Form Validation
  • Server side Validating Forms
  • Encryption with Mcrypt

Hosting our project in the server and File Handling

  • CPanel
  • Introduction to FTP
  • How to use FileZilla, CPanel with examples
Updated on 23 August, 2016

About Broadway Infosys Nepal

Broadway Infosys Nepal is one of the best inclusive computer training institutes in Kathmandu, Nepal. Established in 2008, our professional IT Training and Development center has been employing experts in this field to impart professional education to trainees. We offer well-structured complete professional training in various Programming Languages, Graphics & Multimedia, Web Designing as well as Development Training that is based upon the current recruitment needs in the IT market.

Further, we also provide training on thorough understanding of:

  • Project Requirement Identification and Analysis,
  • Software Development Life Cycle,
  • Functional Design,
  • Testing and Implementation
  • Quality Assurance

Since establishment, we have successfully established and maintained network with more than fifty IT and other companies which has made us able to offer and provide our students with internship and job opportunities.

See all Broadway Infosys Nepal courses
Are you from Broadway Infosys Nepal ? Claim your course!
Courses you can instantly connect with... Do an online course on PHP Programming starting now. See all courses

Is this the right course for you?

Didn't find what you were looking for ?

or