How to create an object in PHP
Overview
Object Oriented Programming is a programming concept where real-world items are given abstract groupings called a class. Subgroups known as subclasses can be made from the larger groups as well.
Classes have basic descriptive variables and methods for each item, what does, and how it is created. These distinct items are known as objects, which may have characteristics derived from the class as well as others that are unique to it.
For example, consider a class called “footwear”. This class has subclasses, and it is made up of members which are similar in many ways. Some subclasses of footwear may be:
- Shoes
- Sandals
- Boots
- Flip flops
These subclasses can have specific items with the same characteristics and properties. Some of these objects in the shoe subclass may be loafers, sneakers, or oxford shoes.
Creating an object in PHP
The basic description given in the diagram above is used every day by developers to write object-oriented code, where there is a logical thought process that consists of:
- Identifying program components that will eventually perform similar functions.
- Creating these program components with their properties/attributes and functions/methods.
- Identifying unique use cases for each component and applying them to solve such issues.
Consider mysqli classes in PHP. These have functions like query, connect, and num_rows, as well as properties like database names, host names, passwords, and user information.
Objects which are unique use cases of these classes can be new database connections from the mysqli class. These new objects can access all methods and properties of this class.
Creating a new mysqli object
To create a new object in PHP, you must use the new keyword.
Syntax
$objectName = new className();
Code
In the code below, a new mysqli object was created. This new object now has access to the class methods using the arrow -> symbol.
<?php$dbconn = new mysqli("localhost", "root", "","mydb");//i can access methods in mysqli class like belowif($dbconn -> connect_error){// do something}?>
In the next code block, I created my own custom class with some properties and methods. Then I used the new command to create some instances of class objects. With the help of the arrow -> symbol, these objects can make use of the methods available in the house class.
<?phpclass house {// Propertiespublic $name;public $size;// Methodsfunction set_name($name) {$this->name = $name;}function get_name() {return $this->name;}}$condo = new house();$duplex = new house();$condo->set_name('personal condo');$duplex->set_name('detached duplex');echo $condo->get_name();echo "\n";echo $duplex->get_name();?>