Updated March 16, 2023
Introduction to Object in PHP
Objects are real-world entities. Objects are defined from classes in Object-Oriented Programming like PHP. When a class is defined, we can create many objects out of the class. Example Class Car is defined, then Mercedes, BMW, Skoda are all objects of the Class Car. A class is a blueprint of an object. A class contains variables and functions. These data variables are called properties and data functions are called data methods.
The definition of an object goes like this, An object is an instance of a class. We can create an instance of the class by using the new keyword. We can create multiple instances of the class. These instances can now access the class functions, the class members.
How to Create an Object?
Creating an object is the same as instantiating a class. This instance is created using the new keyword. This process is called instantiation. Since objects are instances of a class and can be created using a new keyword let us take a look at how these instances are created.
Syntax:
objectname = new Classname();
Examples:
$parrot = new Bird();
$pigeon = new Bird();
$woodpecker = new Bird();
Above are three different objects of the class Bird. Using these objects we can access the properties and functions of the class Bird.
What is a new keyword?
When we instantiate a class, we are actually creating an object of the class. To create object it is essential to use a new keyword. While using a constructor in a class, the constructor is called automatically when the object is initialized using the new keyword.
Properties of Object
Properties are variables that are defined within a class. These variables are then used by the methods, objects of the class. These variables can be public, protected or private. By default, the public is used. The value of a variable may or may not contain a default value, meaning that the variable may be initialized with a value or not.
The variable names are case sensitive, meaning that $name is different from $Name. There is a naming convention like if the variable contains more than one word than the second word will start with a capital letter like $firstName, $lastName and so on.
Let us look at the below program to understand the properties.
class Birds {
public $birdsFly = 'sky';
public $birdsSound = 'vocal';
public $birdsBuildNests = 'trees';
}
The following program explains how to declare a class Bird and its properties like a bird flies make sound and build a nest and a method on what a bird does.
Code:
<?php
//example to access properties of a class
class Birds {
// properties
public $birdsFly = 'sky';
public $birdsSound = 'vocal';
public $birdsBuildNests = 'trees';
//methods
public function birdDoes()
{
echo 'Bird';
}
}
//object of class is declared
$obj = new Birds();
//properties of class Bird are accessed using object
echo '<br> Bird Flies = '.$obj->birdsFly;
echo '<br> Bird Makes Sound = '.$obj->birdsSound;
echo '<br> Bird Build Nests = '.$obj->birdsBuildNests;
?>
Output:
Methods of Object in PHP
As the properties of a class, we can define member functions in a class. These functions can then be called from an object. These functions are called as methods of a class. These functions can be public, private or protected. By default is public. Also while declaring the function we declare it as
Syntax:
public function functionaname() {
//statements
}
Example:
class Bird {
public function makesSound() {
// statements
}
public function looksForFood() {
// statements
}
}
$obj = new Bird;
echo $bird->makesSound();
echo $bird->looksForFood();
Code:
<?php
//example to access methods of a class
class Birds {
// properties
public $birdsFly;
public $birdsBuildNests;
//method 1 - set Method1
public function set_birdFlies($input) {
$this->birdsFly = $input ;
}
//method 1 - get Method1
public function get_birdFlies() {
return $this->birdsFly;
}
//method 2 - set Method2
public function set_BirdBuildsNest($input) {
$this->birdsBuildNests = $input ;
}
//method 2 - get Method2
public function get_BirdBuildsNest() {
return $this->birdsBuildNests;
}
}
//object of class is declared
$obj = new Birds();
$obj->set_birdFlies('Fly');
echo '<br> Bird Flies = '.$obj->get_birdFlies();
$obj->set_BirdBuildsNest('Trees');
echo '<br> Bird Builds Nest = '.$obj->get_BirdBuildsNest();?>
Output:
Object and Constructors
A constructor is a special method. When a new object is created this method is invoked automatically. There is no need for calling the method explicitly from an object.
Syntax:
__construct();// double underscores are used.
Suppose there are two classes one base class and the other is derived class. If the derived class do not have its own constructor and wants to inherit the base class constructor we need to declare it in the following syntax:
Syntax:
parent::__construct();
Code:
<?php
//example to use constructor in a class
class Birds {
// properties
public $makesSound;
// the constructor is called when object is created
public function __construct($input) {
$this->makesSound = $input;
echo 'Bird makes Sound: '.$this->makesSound;
}
}
//object of class is declared
$obj = new Birds('Vocal');
?>
Output:
Constructor and Object with Inheritance
In the below program we will see that how objects call the base class constructor is internally by creating an object. Since inheritance is used we can use parent:: __construct() to call the base class constructor.
Code:
<?php
//example to use constructor and object of a class
class Birds {
// properties
public $bird_flies='sky';
// the constructor is called when object is created
public function __construct() {
echo 'In the Base Class Constructor';
}
}
class EagleBird extends Birds {
function __construct() {
parent::__construct();
}
public function BirdDoes() {
return $this->bird_flies;
}
}
//object of class is declared
$obj = new EagleBird();
echo '<br> Method : ' .$obj->BirdDoes();
?>
Output:
Conclusion
This article explains what is an object in object-oriented programming, how to create an object, its syntax, how to use an object in a given program. Also, how to declare and use properties and methods of an object in PHP, how to use constructors in PHP. This article has programs that could be helpful to solve your queries and understand the concept well.
Recommended Articles
This is a guide to Object in PHP. Here we discuss an introduction, properties, methods and creation of objects along with constructor and object with inheritance. You may also look at the following articles to learn more –