PHP атрибуты объекта не выводятся должным образом - PullRequest
1 голос
/ 08 февраля 2020

Я создал базовый c PHP Книжный класс, который должен распечатать $ title, $ author и $ pages. Однако мой код вместо этого печатает $ страницы 3 раза, есть идеи, что я делаю неправильно?

<?php
    class Book{
        var $title;
        var $author;
        var $pages;
    }

    $book1 = new Book();
    $book1 -> $title = "Oliver Twist";
    $book1 -> $author = "Charles Dickens";
    $book1 -> $pages = 373;

    echo $book1 -> $title;
    echo $book1 -> $author;
    echo $book1 -> $pages;
?>

Ожидаемый результат: Оливер ТвистЧарлес Диккенс373

Фактический результат: 400400400

Ответы [ 2 ]

2 голосов
/ 08 февраля 2020

удалить $

   class Book{
        var $title;
        var $author;
        var $pages;
    }

    $book1 = new Book();
    $book1->title = "Oliver Twist";
    $book1->author = "Charles Dickens";
    $book1->pages = 373;

    echo $book1->title;
    echo $book1 ->author;
    echo $book1 ->pages;
1 голос
/ 08 февраля 2020

Вам не нужно ставить префикс $ каждый раз, когда вы получаете доступ к свойству класса, используя объект этого класса. просто удалите $ из свойств, которым вы присваиваете значения.

Ваш код:

$book1 = new Book(); 
$book1->title = "Oliver Twist"; 
$book1->author = "Charles Dickens";
$book1->pages = 373;

Правильный способ доступа к свойствам класса:

$object = new yourClass();
$object->classProperty = 'value';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...