Код ничего не выводит

Подскажите, пожалуйста, в чем проблема. Код ничего не выводит, хотя должно по идее выводиться

<?php
Class ShoppingCard{
    private $name;
    
    public function date(){
        $this -> $name = "PHP";
        echo $this-> $name;
    }
}
$product1=new ShoppingCard();
$product1.function date();
    ?>

Ответы (2 шт):

Автор решения: Анатолий

В PHP к свойствам и методам (name и date() в Вашем случае) знак доллар уже не пишется, еще у Вас не правильный вызов метода у объекта опять же не через точку как в js, а через стрелку. Попробуйте так

class ShoppingCard{
    private $name;

    public function date()
    {
        $this->name = "PHP";
        echo $this->name;
    }
}

$product1 = new ShoppingCard();
$product1->date();
→ Ссылка
Автор решения: Rahman

У тебя там явно ошибка, код должен выглядит вот так

Class ShoppingCard{
   private $name;

   public function date(){
      $this->name = "PHP";
      echo $this->name;
   }
}
$product1 = new ShoppingCard();
$product1->date();

ты допустил три ошибки:

  1. $this->$name - ты написал name с $, это неправильно нужно без $ - $this->name

  2. Ты вызываешь функцию через точку, и + пишешь function зачем?, ставить точку про привычке я панимаю ( это не пайтон ), но зачем писать function?, вызывать функцию надо вот так $product1->date()

  3. Ты ставишь пробелы в $this: $this -> name - так не ставят

→ Ссылка