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')
,它工作正常。
詳細的答案與示例將幫助我正確理解我失蹤。