I’m new to PHP and I am trying to follow a course.
JavaScript
x
<?php
class myCar {
function myCar() {
$this->model = "Sports";
}
}
$Range_Rover = new myCar();
echo $Range_Rover->model;
?>
According to the tutorial I should get the output “Sports” What is causing the code to result in an error of undefined property?
Warning: Undefined property: myCar::$model in C:xampphtdocsTestindex.php on line 16
Screenshot of tutorial results
Many thanks, Stuart
Advertisement
Answer
Correct way to do it:
JavaScript
<?php
class myCar {
public $model;
function __construct() {
$this->model = "Sports";
}
}
$Range_Rover = new myCar();
echo $Range_Rover->model;
Output: https://3v4l.org/bnNrm
Note: Why above is needed
a) Defining constructor name as class name is an older practice, and it will give you deprecation message for some php version (php 7 versions).
b) Also from php8 it will be treated like a normal function, not as a constructor, so your purpose will not solve.