PHP, классы и объекты - PullRequest
       4

PHP, классы и объекты

0 голосов
/ 10 марта 2019

Я пытаюсь перечислить все имена из базы данных json в html, используя класс.вывод html должен выглядеть примерно так: -

Символы

  • имя: Джон
  • имя: Сара
  • имя: Майкл

Мне удалось достичь этого с моим кодом.Я знаю, что этот код не закончен или в нем есть ошибки, но я все еще начинающий и учусь.Можете ли вы помочь мне заставить этот код работать?

Файл базы данных 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

<code><!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 '
';?>

Код класса

characters.php

<?php

class Character {

        private $name;

public function __construct($name) {
            $this->name = $name;

        }
public function getName($name){
        return $this->name;
        }

}
 ?>

Ответы [ 2 ]

1 голос
/ 10 марта 2019

Ваши объекты всегда должны быть частными, а ваши функции должны быть общедоступными (чтобы вы могли получить к ним доступ).Это причина того, почему вы строите конструктор.Предполагая, что объектом является $ name, вы сможете получить к нему доступ, изменив его.

1 голос
/ 10 марта 2019

Если вы хотите получить доступ к переменной, используя только метод getter setter, используйте приватную область вместо public.

И ваш метод должен быть публичным.

<?php

class Character {

        private $name;

public function __construct($name) {
            $this->name = $name;

        }
public function getName($name){
        return $this->name;
        }

}
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...