Почему не передаются параметры в метод php? Добрый вечер, объясните новичку, есть два файла и ситуация следующая: var1 = new Myclass(); $par1 = 'ex3.php'; $par2 = 123; $this->var1->mymethod($par1,$par2);
} } $child = new MyClass2(); $child->action_index();
?>
и второй файл ex3.php метод в первом классе принимает два значения $par1,$par2, в втором классе я объявляю одноименные св-ва и и кладу их в метод первого класса, но если я изменю названия свойств($par1,$par2) и положу их в метод то он не сработает хотя значения останутся прежними, объясните почему?
Проблема заключается в том, что переменные $par1 и $par2, которые вы объявляете в методе action_index класса MyClass2, являются локальными для этого метода. Когда вы передаете их в метод mymethod класса Myclass, они не передаются как параметры функции ex3.php, поэтому файл ex3.php не получает их значения.
Если вы хотите передать значения $par1 и $par2 из метода action_index в ваш метод mymethod, вам нужно использовать свойства объекта MyClass2, такие как $this->par1 и $this->par2, а затем передавать их в метод.
Примерно так:
class MyClass2 { public $par1; public $par2; function action_index() { $this->var1 = new Myclass(); $this->par1 = 'ex3.php'; $this->par2 = 123; $this->var1->mymethod($this->par1, $this->par2); } }
Теперь значения $par1 и $par2 будут переданы в метод mymethod и отобразятся в файле ex3.php.
Проблема заключается в том, что переменные $par1 и $par2, которые вы объявляете в методе action_index класса MyClass2, являются локальными для этого метода. Когда вы передаете их в метод mymethod класса Myclass, они не передаются как параметры функции ex3.php, поэтому файл ex3.php не получает их значения.
Если вы хотите передать значения $par1 и $par2 из метода action_index в ваш метод mymethod, вам нужно использовать свойства объекта MyClass2, такие как $this->par1 и $this->par2, а затем передавать их в метод.
Примерно так:
class MyClass2{
public $par1;
public $par2;
function action_index() {
$this->var1 = new Myclass();
$this->par1 = 'ex3.php';
$this->par2 = 123;
$this->var1->mymethod($this->par1, $this->par2);
}
}
Теперь значения $par1 и $par2 будут переданы в метод mymethod и отобразятся в файле ex3.php.