Проблема в понимании использования объекта в PHP - PullRequest
1 голос
/ 29 апреля 2020
<?php

class A
{
    public $x=40;
    function sum($x)
    {
        return $this->x + $this->x;
    }
    public function __construct()
    {
            echo "The class ".__class__." has been created<br>";
    }
    function sub($integers)
    {
        echo 2*$integers."<br>";
    }
}
$obj= new A;
//Will the 40 in paranthesis will be passed as argument to the function  sum($x) above?

echo $obj->sum(40);   //It throws an error if I don't pass anything in sum but it will not take 50 it is taking 40
$obj->sub(50);
?>

1 Ответ

0 голосов
/ 29 апреля 2020

Ваша функция sum требует параметр $x, но не использует его. Вместо этого используется свойство $this->x класса, которое инициализируется значением 40.

Поскольку обе функции (методы) имеют необязательные параметры, необходимо указать параметры при их вызове.

Я думаю, что было бы полезно изучить документацию по https://www.php.net/manual/en/language.oop5.basic.php (и, в более общем смысле, https://www.php.net/manual/en/language.oop5.php)

...