0
Joomla中有一个示例Hello Word组件。访问Joomla中的PHP类方法
在型号:
class HellowWorldModelHelloWorld extends JModel
{
Protected $message;
Public function getMsg()
{
if (!isset($this->message))
{
$this->message = 'Hello World';
}
return $this->message;
}
}
在浏览:
class HelloWorldViewHelloWorld extends JViewLegacy
{
function display($tpl = null)
{
$this->msg = $this->get('Msg');
if (count($errors=$this->get('Errors')))
{
JLog::add(implode('<br/>',$errors),JLog::WARNING, 'jerror');
return false;
}
parent::display($tpl);
}
}
现在的问题是如何工作的,据我所知,我不能让它出下面的代码
$this->msg = $this->get('Msg');
第一个$this->msg
- msg
属性没有在类中的任何地方定义或在父类中。那么如何通过直接访问来定义或设置msg
$this->msg
其次,模型中的方法定义为function getMsg()
。所以我认为它应该可以访问为$this-getMsg()
(但它不起作用),但它被访问为$this-get('Msg')
,它工作正常。
详细的答案与示例将帮助我正确理解我失踪。