Web Development (MVC)

Instructors

Ubaid Ullah Khan

Timing

Morning, Afternoon

Duration

2 Months

Fee

PKR 5000/- Per Month

Contact

+92-331-5875434

Brief introduction

Now a days, websites and web applications are quickly becoming the primary means to communicate information, ideas, and products to the world. How then, are they created? During this 2 months course student will learn the processes, steps, and technologies involved in bringing ideas, contents, or products to the World Wide Web using PHP, Mysql, jQuery and Ajax.

PHP Overview & Installation

  • What is PHP?
  • History of PHP
  • Why choose PHP?
  • Installation overview
  • Installing WAMP Server
  • Finding the document root
  • Configuring PHP
  • Configuring MySQL
  • Text editor
  • Embedding PHP Code on a page
  • Outputting dynamic text
  • The operation trail
  • Inserting code comments

Exploring Data Types

  • Variables
  • Strings
  • String functions
  • Integer & Floating point numbers
  • Arrays
    • Numeric Array
    • Associative Array
    • Array functions
  • Booleans
  • Null and empty
  • Type juggling and casting
  • Constants

Control Structures: Logical Expressions & Loops

  • If statements
  • Else and elseif statements
  • Logical Operators
  • Switch statements
  • While loop
  • For loop
  • Foreach loop
  • Continue
  • Break
  • Understanding array pointers

User-Defined Functions

  • Defining functions?
  • Function arguments
  • Returning values from a function
  • Multiple return values
  • Scope and global variables
  • Setting default argument values

Debugging

  • Common problems
  • Warnings and erros
  • Debugging and trouble shooting

Building Web Pages with PHP

  • Links and URLs
  • Using GET values
  • Encoding GET values
  • Encoding for HTML
  • Including and requiring files
  • Modifying headers
  • Page redirection
  • Output buffering

Working with Forms and Form Data

  • Building forms
  • Detecting form submissions
  • Single page form processing
  • Validating form values
  • Problems with validation logic
  • Displaying validation errors
  • Custom validation functions
  • Single page form with validations

Working with Cookies and Sessions

  • Working with cookies
  • Setting cookie values
  • Reading cookies values
  • Unsettling cookies values
  • Working with sessions

MySQL Basics

  • MySQL introduction
  • Creating a database
  • Creating a database table
  • CRUD in MySQL
  • Populating a MySQL database
  • Relational database tables
  • Populating the relational table

Using PHP to Access MySQL

  • Database APIs in PHP
  • Connecting to MySQL with PHP
  • Retrieving data from MySQL
  • Working with retrieved data
  • Creating records with PHP
  • Updating and deleting records with PHP
  • SQL injection
  • Escaping strings for MySQL
  • Introducing prepared statements

Building a Content Management System (CMS)

  • Blueprinting the application
  • Building the CMS database
  • Establishing your work area
  • Creating and styling the first page
  • Making page assets reusable
  • Connecting the application to database

Using site navigation to Choose Content

  • Adding pages to the navigation subjects
  • Refactoring the navigation
  • Selecting pages from the navigation
  • Highlighting the current page
  • Moving the navigation to a function

Application CRUD

  • Finding a subject in the database
  • Refactoring the page selection
  • Creating a new subject form
  • Processing form values and adding subjects
  • Passing data in the session
  • Validating form values
  • Creating an edit subject form
  • Using single-page submission
  • Deleting a subject
  • Cleaning up
  • Assignment: Pages CRUD
  • Assignment results: Pages CRUD

Buliding the Public Area

  • The public appearance
  • Using a context for conditional code
  • Adding a default behaviour
  • The public content area
  • Protecting page visibility

Regulating Page Access

  • User authentication overview
  • Admin CRUD
  • Encrypting passwords
  • Salting passwords
  • Adding password encryption to CMS
  • New PHP password functions
  • Creating login system
  • Checking for authorization
  • Creating a logout page

Introduction to jQuery

  • Setting up the development environment
  • What is jQuery?
  • Your first jQuery enabled page
  • Selectors filters
  • Creating and modifying page content
  • Handling events
  • Animating page content
  • Working with AJAX

Working with Page Content

  • Overview of selectors and filters
  • Basic selectors
  • Basic filters
  • Advanced selectors
  • Attribute filters
  • Advanced filters
  • Traversing documents with jQuery
  • jQuery statement chaining
  • Programming challenge
  • Solution

Manipulating Page Content

  • Creating content
  • Inserting page content
  • Altering page content
  • Manipulating attributes
  • Working with CSS
  • Embedding custom data
  • Programming challenge
  • Solution

jQuery Events

  • jQuery event handling features
  • Binding and unbinding events
  • Event helper features
  • Using the jQuery event object
  • Programming challenge
  • Solution

Animations and Effects

  • Introduction to jQuery animations
  • Hiding and showing elements
  • Fading elements
  • Sliding elements
  • Custom animations

AJAX Operations

  • jQuery and AJAX
  • Convenience functions
  • Working with different data types
  • Using global AJAX handlers
  • Programming challenge
  • Solution

Introduction to Ajax

  • What is Ajax?
  • Requests
  • Responses
  • States and events
  • Load remote text
  • Load remote JSON
  • Using jQuery

PHP Server

  • Detect Ajax requests
  • Respond with HTML partials
  • Respond with JSON data
  • Update page on change

Ajax Button

  • Create a favourite button
  • Send button Ajax request
  • Process button Ajax request
  • Handle button Ajax response
  • Mark favourites on page load
  • Create an un favourite button

Ajax Form Submission

  • Create the form
  • Gather form data
  • Handles form errors
  • Add a loading spinner
  • Disable form button
  • Allow fallback to HTML
  • Prevent default

Infinite Scrolling

  • Create a page of items
  • Process a load request
  • Append HTML results
  • Use a data attribute
  • Trigger Ajax on scroll
  • Prevent multiple requests

Search Autosuggest

  • Create a text input
  • Style suggestions
  • Send an autosuggest Ajax request
  • Calculate results
  • Format suggestions with JSON