English

[php]

<?php

class TestClass extends TestClassBase {

private $name = 'name';



public function __call($method, $arguments)

{

    echo 'method: '.$method.PHP_EOL;

    return $this-&gt;$method($this-&gt;name);

}

}

class TestClassBase {

protected function getName($name) {

    echo $name.PHP_EOL;

}



/*

protected function getUndefined($name) {

    echo $name.PHP_EOL;

}

*/

}

$tc = new TestClass();

//echo $tc->getName('testname');

echo $tc->getUndefined();

[/php]

Выше происходит следующее: вызываем метод, которого нет ни в классе TestClass, ни в его родителе. Поскольку __call перехватывает такие вызовы, в нем снова $this->$method, то так продолжается до тех пор, пока не будет превышена PHP-константа ограничения вызовов метода.

Прошлые записи

  1. Детализация по звонкам Теле2, совершенным более полугода назад
  2. Побыть туристом в своем городе
  3. Космология, Байкал, Математика, Минимализм
  4. Уроки математики - Youtube-канал
  5. Почему я считаю, что бойкотировать выборы это плохая идея
  6. Ксения Собчак в гостях у Познера
  7. Один из способов решения психологических проблем в семье
  8. Стрельба из пистолета Ярыгина
  9. Опыт участия в Teamlab в роли наставника
  10. Highload 2017. Как это было.
  11. Авиатор. Е. Водолазкин. Отзыв