OOP Object Oriented Programming In PHP 7

OOP Object Oriented Programming In PHP 7

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6 Hours | 608 MB

Learn advanced object oriented programming with simple code examples. This Course includes almost all OOP PHP7 topics.

1st section of the course starts with an introduction to object oriented programming. What is OOP? and why we need it ? and what was before OOP?. A little detail about procedural language.We will also learn how to add OOPness in our programming. Then the advantages of object oriented programming.

In 2nd section we will discuss the basics of OOP with real life example and then how to map it in objects, classes, properties and method.

Then how to create objects and classes in php? How to add properties and methods? How to use them? And at the end of this section we will learn about parameters and return values of a method.

3rd section describes the visibility and its three levels. Then why we need to define public, private or protected visibility of properties and methods in a class.

4th section describes the concept of constants in classes.

5th section describes about data encapsulation. Why we need it? And how to implement it and then the benefits of encapsulation.

In 6th section we will discuss about inheritance with real life example. Then how to translate it in classes, properties and methods in php code. What is ISA and HASA relationship and where to use ISA and where to use HASA in classes and objects.

7th section describes the problem when a child class needs its own version of parent class method then how overriding of method solves this problem. Then how you can preserve parent class method’s functionality while overriding.

8th section describes how you can block inheritance and method overriding using final keyword.

9th section describes what is the meaning of abstract in real world, then what is the meaning of abstract classes, why we need i? What are the abstract methods and why we need it? Then we will also discuss how to create abstract classes and methods in php.

At the end what are the key points for abstract classes and methods.

In 10th section we will discuss what happens when two classes from completely different class hierarchies need some similar behaviour and how interface solve this problem.

In 11th section we will discuss what happens when an object is born and when it dies. How we can handle things in both situations using constructor and destructor. How to define and use constructor and destructor using magic methods __construct() and __destruct().

12th section describes a situation where we need only one copy of properties and methods for all objects of a class. Static keyword can solve this problem. So we will see how we can create and use static properties and methods without creating an object of a class.

In 13th section describes that there are 15 magic methods in php. So we will discuss these magic methods one by one in detail.

14th section is the biggest one in this course. In this we will discuss about errors and exceptions.

What supposed to be an error in php? How they happen? What are the different types of errors? .how you can trigger errors by yourself? And what are the logical error? Then we will see how we can report errors when they happen and how you can change error reporting settings in php.ini. We will also learn the 4 ways to deal with errors. Then how to use an error handler and at last how you can log error messages.

After errors we will discuss about what may be the risky behavior of your code and how we can use exceptions to handle that risky behaviour. We will see how we can try some risky behaviour then how we can throw an exception if anything wrong happens and how we can catch that exception. Then the detail discussion on exception class in php and the stack trace for the exception. Then how you can make your own custom exceptions by extending php’s built in exception class. Why we need to use try with multiple catches and how to re-throw an exception. What happens when there is an uncaught exception in your code.what is an exception handler.

Then at the end of this section we will discuss the changes in errors and exceptions in php7.

15th section describe how you can autoload classes in your code without using include and require statements. Then the use of autoloader function for this purpose. Then we will discuss to autoload namespace classes in your code using Psr-0 and Psr-4 autoloading standards but before that we will discuss what are the namespaces in php.

16th section is about object serialization. Why we need to serialize an object. Then when and how to unserialize it. We will also learn how to do task that are prior to serializing an object using __sleep() magic method.Then how to do task right away after unserializing an object using __wakeup() magic method.

17th section is about cloning of an object in which we will discuss two types of cloning that are shallow copy and deep copy. In deep copy cloning we will also discuss about __clone() magic method. Then we will see recursive cloning and then double linking problem in cloning. At the end we will discuss Deep copy cloning using serialization.

18th section is about Type hinting. In this we will see how we can use non scalar and scalar data types for type hinting. We will also discuss about strict scalar data types and TypeError exception thats been introduced in php7.

In 19th section we will learn two ways of comparing objects. First one is using Comparison operator (==) and 2nd one is using Identity operator (===).

20th section is about overloading an object. we will learn How to do property overloading Using __get(), __set(), __isset() and __unset() magic methods. Then how to do method overloading Using __call(), __callStatic() magic methods.

21st section describes about traits. First we will discuss deadly diamond of death problem in multiple inheritance. Then single inheritance and its limitations. Then how traits provide multiple inheritance thing in php. Then what will be the precedence order if a parent class and a trait have same method and then what will be the precedence order if a trait and current class have the same method. We will also discuss to use multiple traits and then how to compose a trait from other traits.

At the end we will discuss abstract and static trait members and trait properties.

22nd section describes late static binding. For this first we will discuss some basic concepts of binding like what is binding, early binding and late binding?

Then what is the problem with early binding of self keyword and at the end its solution which is late static binding.

23rd section describes object iteration. First we will get some idea about some basic concepts like traverse, iterate and iterate using loops. Then what is object iteration and how you can iterate an object using Iterator Interface and IteratorAggregate Interface .

Table of Contents

Overview of the course
1 Sections Overview

Introduction to Object Oriented Programming
2 Introduction To Object Oriented Programming

Basics of Object Oriented Programming
3 Classes And Objects
4 Properties And Methods
5 Creating Classes And Objects In PHP
6 Creating And Accessing Properties
7 Print The Whole Object
8 Defining And Calling Methods
9 Accessing Object Properties From Methods
10 Parameters And Return Value Of Methods
11 PHP Source Files Used In _Basics of Object Oriented Programming_ Lectures
12 Solution_ Simple Calculator

Visibility
13 Visibility
14 Php Source Files Used In _Visibility_ Section

Class Constants
15 Class Constants
16 Php Source Files Used In _Class Constants_ Section

Data Encapsulation
17 Data Encapsulation
18 Php Source Files Used In _Data Encapsulation_ Section

Inheritance
19 Inheritance
20 Real Life Example Of Inheritance
21 Visibility Level Protected In Inheritance
22 ISA Vs HASA
23 Php Source Files Used In _Inheritance_ Section

Overriding
24 Overriding
25 Preserving Parent Class Functionality in overriding
26 Php Source Files Used In _Overriding_ Section

Final Keyword
27 Final Classes And Methods
28 Php Source Files Used In _Final Keyword_ Section

Abstract classes and methods
29 Abstract Classes And Methods
30 Php Source Files Used In _Abstract Classes And Methods_ Section

Interfaces
31 Interfaces
32 The difference between abstract classes and interfaces
33 Php Source Files Used In _Interfaces_ Section

Constructor and Destructor
34 What Is Constructor And Destructor_
35 Constructor Using __construct() Magic Method
36 Destructor Using __destruct() Magic Method
37 Php Source Files Used In _Constructor And Destructor_ Section

Static Properties And Methods
38 Static Keyword And Static Properties
39 Static Methods
40 Php Source Files Used In _Static Properties And Methods_ Section

Magic Methods
41 Magic Methods
42 Magic Methods In Different Topics
43 __toString() Magic Method
44 __set_state() Magic Method
45 __invoke() Magic Method
46 __debugInfo() Magic Method
47 Php Source Files Used In _Magic Methods_ Section

Errors and exceptions in php
48 Introduction to Errors And Exception
49 Errors and Their Types
50 Sub Types Of Errors
51 Notices
52 Warnings
53 Fatal Errors
54 Parser Errors
55 Strict Standards Notices
56 E_ALL And Error Level Constants
57 Triggering Errors
58 When These Errors Occur In Life Cycle Of Your Script
59 Logical Errors
60 Error Reporting Settings In php ini
61 What To Do With Errors_
62 Display Errors
63 Logging Your Own Error Messages
64 How To Handle Errors With Error Handler
65 What Actually The Exceptions Are What They Actually Do_
66 Try_ Throw and Catch
67 The Exception Class In PHP
68 Stack Trace For Exception
69 Creating Your Own Custom Exceptions
70 Try With Multiple Catch Blocks
71 Re-Throwing Exceptions
72 Uncaught Exceptions
73 Top Level Exception Handler
74 The Change In Errors and Exceptions In PHP 7
75 Php Source Files Used In _Errors And Exceptions In PHP_ Section

Autoloading
76 Autoloading
77 Autoloader Function
78 How To Register An Autoloader Function
79 Namespaces
80 Autoloading Namespaces
81 Psr-0 And Psr-4 Autoloading Standards
82 Autoloader To Autoload Namespace Classes
83 Php Source Files Used In _Autoloading_ Section

Object Serialization
84 Object Serialization
85 serialize() and unserialize()
86 Magic Methods For Serialization __sleep() and __wakeup()
87 Php Source Files Used In _Object Serialization_ Section

Object Cloning
88 Object Cloning
89 Shallow Copy Cloning
90 Deep Copy Cloning Using __clone() Magic Method
91 Recursive Cloning
92 Double Linking Problem
93 Solution Deep Copy Cloning Using serialization
94 Php Source Files Used In _Object Cloning_ Section

Type Hinting
95 Type Hinting
96 Type Hinting For Non Scalar Data Types
97 Type Hinting For Class And Objects
98 Type Hinting For Interfaces
99 Type Hinting For Self
100 Type Hinting For Arrays
101 Type Hinting For Callable
102 Type Hinting For Scalar Data Types
103 Strict Scalar Type Hinting
104 Type Hinting For Return Types
105 Type Error Exception In PHP7
106 Php Source Files Used In _Type Hinting_ Section

Comparing Objects
107 Object Comparison Using (==) And (===)
108 Php Source Files Used In _Comparing Objects_ Section

Overloading
109 Overloading
110 Property Overloading Using Magic Methods (__get___set_ __isset and __unset)
111 Method Overloading Using Magic Methods (__call_ __callStatic)
112 Php Source Files Used In _Overloading_ Section

Traits
113 Multiple Inheritance And Deadly Diamond Of Death
114 Single Inheritance And Its Limitation
115 Php Traits
116 Precedence
117 Multiple Traits
118 Traits Composed From Traits
119 Abstract And Static Members Of Traits
120 Trait Properties
121 Php Source Files Used In _Traits_ Section

Late Static Binding
122 Binding_ Early Binding And Late Binding
123 Problem_ _Early Binding of self Keyword_
124 Solution_ _Late Static Binding Using Static Keyword
125 Php Source Files Used In _Late Static Binding_ Section

Object Iteration
126 Traverse_ Iterate_ Iterate Using Loops
127 Object Iteration
128 Iterator Interface
129 IteratorAggregate Interface
130 Iterator And IteratorAggregate Interface In One Plate
131 Php Source Files Used In _Object Iteration_ Section