A class is a template for objects, and an object is an instance of class.
OOP Case
Let's assume we have a class named Fruit. A Fruit can have properties like name, color, weight, etc. We can define variables like $name, $color, and $weight to hold the values of these properties.
When the individual objects [apple, banana, etc.] are created, they inherit all the properties and behaviors from the class, but each object will have different values for the properties.
Define a Class
A class is defined by using the class
keyword, followed by the name of the class and a pair of curly braces [{}]. All its properties and methods go inside the braces:
Syntax
Below we declare a class named Fruit consisting of two properties [$name and $color] and two methods set_name[] and get_name[] for setting and getting the $name property:
Note: In a class, variables are called properties and functions are called methods!
Define Objects
Classes are nothing without objects! We can create multiple objects from a class. Each object has all the properties and methods defined in the class, but they will have different property values.
Objects of a class is created using the new
keyword.
In the example below, $apple and $banana are instances of the class Fruit:
Example
Try it Yourself »
In the example below, we add two more methods to class Fruit, for setting and getting the $color property:
Example
Try it Yourself »
PHP - The $this Keyword
The $this keyword refers to the current object, and is only available inside methods.
Look at the following example:
Example
So, where can we change the value of the $name property? There are two ways:
1. Inside the class [by adding a set_name[] method and use $this]:
Example
Try it Yourself »
2. Outside the class [by directly changing the property value]:
Example
Try it Yourself »
PHP - instanceof
You can use the instanceof
keyword to check if an object belongs to a specific class:
Example
Try it Yourself »
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Like C++ and Java, PHP also supports object oriented programming
- Classes are the blueprints of objects. One of the big differences between functions and classes is that a class contains both data [variables] and functions that form a package called an: ‘object’.
- Class is a programmer-defined data type, which includes local methods and local variables.
- Class is a collection of objects. Object has properties and behavior.
Syntax: We define our own class by starting with the keyword ‘class’ followed by the name you want to give your new class.
Note: We enclose a class using curly braces [ { } ] … just like you do with functions.
Given below are the programs to elaborate the use of class in Object Oriented Programming in PHP.
The
programs will illustrate the examples given in the article.
Program 1:
Output:
The class "GeeksforGeeks" was initiated.
Program 2:
Output:
The class "GeeksforGeeks" was destroyed.
Reference:
Classes in PHP