我正在尝试使用类将json数据库中的所有名称列出为html。 html输出应如下所示:-
字符
- 姓名:John
- 名称:Sarah
- 名称:Michael
我已经设法用我的代码达到了这一目标。我知道这段代码还没有完成或有错误,但是我仍然是一个初学者并正在学习。您能帮我使此代码生效吗?
Json数据库文件
databas.json
{
"results": [
{
"name": "John",
"height": "182 cm",
"mass": "80 kg",
},
{
"name": "Sarah",
"height": "165 kg",
"mass": "60 cm",
},
{
"name": "Michael",
"height": "178 cm",
"mass": "75 kg",
},
]
}
索引文件
index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Character</title>
</head>
<body style="margin-bottom:20em;">
<h1>Characters</h1>
<?php include('characters.php'); ?>
<?php
$data = file_get_contents("databs.json");
$data = json_decode($data, true);
echo '<pre>';
print_r($data);
echo '</pre>';
?>
</body>
</html>
类代码
characters.php
<?php
class Character {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName($name){
return $this->name;
}
}
?>
答案 0 :(得分:1)
如果只想使用getter setter方法访问变量,请使用私有范围而不是public。
您的方法应该是公开的。
<?php
class Character {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName($name){
return $this->name;
}
}
?>
答案 1 :(得分:1)
您的对象应该始终是私有的,而函数应该是公共的(以便您可以访问它们)。这就是为什么要构建构造函数的原因。假设该对象是$ name,则应该可以通过更改它来访问它。