在PHP中,我如何找出$指的是什么?

时间:2014-02-17 17:41:17

标签: php class oop joomla this

我被$this打了很长时间。很多次,当我尝试阅读一些Joomla片段时,我偶然遇到$this。 我理解在类的定义中,$this指的是类的实例。但是当$this不在定义中时,它意味着什么? 像这样:

echo $this->loadTemplate('item')

和此:

<?php if ($this->params->get('teacher_studylist', '1') == '1')
{  if ($this->message->teachername) {?>
<div class="teacher"><?php echo JText::_('COM_PREACHIT_by');?> <span><?php echo $this->message->teachername;?></span></div>
<?php } ?>
<?php } ?>

我的第二个问题是,在Javascript中,如果我对“this”的内容感到困惑,我总是可以转到浏览器的控制台并将鼠标悬停在“this”上,并且它将引用它。但是在PHP中,有没有办法做类似的事情?(如果我知道一种方法可以做到这一点,我可以自己解决问题而不必在这里寻求帮助)

2 个答案:

答案 0 :(得分:2)

尝试:

get_class($this);

找出$this

的来源

答案 1 :(得分:2)

来自the docs

  

请注意,模板中的$ this对象始终是JDocument对象的当前实例。另请注意,$ this-&gt; params是JParameter类型的对象。