PHP constructor with a parameter PHP constructor with a parameter php php

PHP constructor with a parameter


Read all of Constructors and Destructors.

Constructors can take parameters like any other function or method in PHP:

class MyClass {  public $param;  public function __construct($param) {    $this->param = $param;  }}$myClass = new MyClass('foobar');echo $myClass->param; // foobar

Your example of how you use constructors now won't even compile as you can't reassign $this.

Also, you don't need the curly brackets every time you access or set a property. $object->property works just fine. You only need to use curly-brackets under special circumstances like if you need to evaluate a method $object->{$foo->bar()} = 'test';


If you want to pass an array as a parameter and 'auto' populate your properties:

class MyRecord {    function __construct($parameters = array()) {        foreach($parameters as $key => $value) {            $this->$key = $value;        }    }}

Notice that a constructor is used to create & initialize an object, therefore one may use $this to use / modify the object you're constructing.