@xxvxx
....

Как вызвать у класса функцию внутри функции?

<?php
abstract class Product 
{
    private $price = 30;
    static $profit = 0;

    public function getPrice()
    {
        return $this->price;
    }
    public function getProfit()
    {
        return $this->profit;
    }

    abstract function buy();
    abstract function price();
}
class Weight extends Product
{
    function price()
    {
        echo "Стоимость Весового товара: $this->getPrice() * $this->getAmout()<br>";
    }

    function buy()
    {
        function weight($amout)
        {
            parent::$profit += parent::getPrice() * $amout;
            echo "Весовой товар куплен. <br> Доход с продаж весовых товаров " . parent::$profit . "<br>";
        }
        echo "Весовой товар НЕ куплен. <br> Укажите вес товара <br>";
    }
}

$productWeight::buy()->weight(5.5); // выводит ошибку
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
class Weight extends Product
{
    function buy()
    {
        return $this; // возвращаем объект, методы которого сможем использовать дальше
    }
    function weight($amout)
    {
        parent::$profit += parent::getPrice() * $amout;
        echo "Весовой товар куплен. <br> Доход с продаж весовых товаров " . parent::$profit . "<br>";
    }
}

$productWeight::buy()->weight(5.5);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы