Мой вопрос о цели дизайна $this
, Зачем использовать $this
внутри класса для вызова функции-члена разве класс не знает о своих собственных функциях и не знают ли функции друг о друге в нем?
Это как сестра, которая зовет своего брата — Эй, мой брат Марк, сын Марии, которая тоже моя мать, подойди сюда;
Я ясно дал понять? Я не мог найти подобный вопрос, и я не думаю, что это дубликат.
Хорошо, скажем, если вам не придется использовать $this
:
<?php
function x(){echo "nope";}
class A {
function x(){echo "x";}
function y(){x();}
}
$o = new A;
$o->y();
?>
Так что это будет вызывать функцию x()
в классе А. Значит вывод x
, но если вы сейчас не хотите вызывать функцию x()
из класса, но другой, как вы хотите сказать это? телекинез?
Как бы вы могли вызывать функции, которых нет в классе, но которые имеют то же имя, что и метод класса? Вы хотите, чтобы вы не могли использовать какие-либо функции вне определения класса?
Так вот почему ты «говоришь» ($this
) что теперь вы вызываете метод из класса!
Других решений пока нет …