YogeshChauhan . com

PHP __construct() function

in PHP on June 9, 2021

Just like JavaScript constructor, PHP constructor initializes object’s properties when you create an object.

To add a constructor, you need to add a __construct() function in the class. So, when you create an object using that class, PHP will automatically call the __construct() function.

One of the advantage of adding a constructor is that you don’t need to add set_name() method and call it.

Syntax


__construct (optional values)


You can pass multiple values with different types of variables, though it’s optional. You can skip passing any values. It doesn’t have any return values.

PHP __construct() function example


<?php
class Car {
  public $make;
  public $model;

  function __construct($make,$model) {
    $this->make = $make; 
    $this->model = $model; 
  }
  function get_name() {
    return $this->make;
  }
  function get_model() {
    return $this->model;
  }
}

$car1 = new Car("Honda","Accord");
echo "The model for " . $car1->get_name() . " is " . $car1->get_model();
//The model for Honda is Accord
?>


What happens when there’s a child class?

When you define a child class constructor, the parent constructors are NOT called implicitly.

If you want to call the parent class constructor then use this inside child constuctor:


...
parent::__construct()
...


If the child class doesn’t have a constructor defined then it may be inherited from the parent class.

PHP __construct() function example with inheritance

Here’s a really good example from PHP official docs to understand the constructor with inheritance.


<?php
class BaseClass {
    function __construct() {
        print "In BaseClass constructor\n\n";
    }
}

class SubClass extends BaseClass {
    function __construct() {
        parent::__construct();
        print "In SubClass constructor\n\n";
    }
}

class OtherSubClass extends BaseClass {
    // inherits BaseClass's constructor
}

// In BaseClass constructor
$obj = new BaseClass();

// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass();

// In BaseClass constructor
$obj = new OtherSubClass();
?>


amazon

Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to add Read More Read Less Button using JavaScript? #4 How to uninstall Cocoapods from the Mac OS? #5 How to Use SQL MAX() Function with Dates? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

Jun 16 What are Stored Procedures for SQL Server? Jun 16 What are Class Constants in PHP? Jun 15 A short basic guide on states in React Jun 15 How to define constants in PHP? Jun 15 How to define visibility for a property in PHP? Jun 15 How to use @if and @else in SCSS?

You might also like these

HTML canvas methodsHTMLWhat are partials in SCSS (Sass)?SCSSWhat is Hoisting in JavaScript?JavaScriptWhat’s a Strict mode in JavaScript?JavaScriptSafe Practice to add Links to cross-origin destinationUI/UXHow to add a Bar Chart in Angular App?AngularWordPress: How to display fields from ACF Flexible Contents?WordPressJavaScript arrays: a separate data type or Objects?JavaScriptPHP arrays for US states’ full names and abbreviationsPHPIntroduction to Angular modules Part 1: NgModule metadataAngular2 Ways we can create an Array in JavaScriptJavaScriptWordPress: How to find all posts with a specific custom field value?WordPress