当我尝试搜索此assignRef()函数的定义时,我遇到了这个问题:Whats is assignRef() function in joomla 2.5。
在阅读答案后,我仍然有一个问题: 在我看来,这个函数用于为对象创建一个键并为其赋值,如
$this->assignRef('messages', $messages)
如果这是正确的,那么为什么不做$ this-> messages = $ messages?
答案 0 :(得分:1)
我认为这些问题可以回答你的问题。
Whats is assignRef() function in joomla 2.5
Joomla 3 - What to use instead of assignRef?
根据上面的答案,这是一个与PHP相关的事情。
在旧版本的php中分配像这样的变量
$this->messages= $messagesOrig;
php创建一个对象 $ messagesOrig 变量的副本,并将其分配给$this->messages
。
这意味着您使用 $ this->消息进行的任何更改都不会影响原始对象( $ messagesOrig 指的是对象)。
所以你必须使用 assignRef(),你将使用/编辑原始对象为 $ messagesOrig 引用
$this->assignRef('messages', $messagesOrig)
在较新版本的php默认情况下,php会分配对原始对象的引用。所以你不需要使用 assignRef()
<强>参考文献:强>
Joomla 3 - What to use instead of assignRef?
答案 1 :(得分:1)
JView[Legacy]::assign()
和JView[Legacy]::assignRef()
,原文为PHP语法。