我在我的类中使用set和get函数创建了一个私有变量,但我继续收到以下错误:
致命错误:未捕获错误:无法访问私有属性Car :: $ make 在C:\ xampp \ htdocs \ PhpOOP \ index.php:16堆栈跟踪:#0 {main}抛出 在第16行的C:\ xampp \ htdocs \ PhpOOP \ index.php
当我将其从private
更改为public
时,它可以正常工作。
这是我的班级:
<?php
class Car {
private $make;
public $model;
public $color;
public function starting(){
echo "Car Starting";
}
public function setMake($make){
$this->make = $make;
}
public function getMake(): string{
return $this->make;
}
}
这是我创建类的实例并尝试使用我的方法的地方。
<body>
<?php
include "classes/Car.php";
$car1->setMake("Honda");
echo $car1->getMake();
?>
</body>
答案 0 :(得分:0)
您没有实例化您的类变量。您包含了您的类文件,但是您需要实例化该类
<body>
<?php
include "classes/Car.php";
$car1 = new Car();
$car1->setMake("Honda");
echo $car1->getMake();
?>
</body>
答案 1 :(得分:0)
修复了我在php中逐步学习对象的问题。在公共时访问私有变量。然后我把它变成私人的,看看它是如何工作的。而我访问它的旧代码导致了问题,而不是使用set和get方法的新东西。