J'ai reçu cet avis lorsque j'ai changé un site Web Joomla de PHP 5.6 à PHP7.2
"Seules les variables doivent être transmises par référence dans ... à la ligne 116" La deuxième ligne est la ligne 116
if($this->isViewExcluded($article)) {
if($this->isArticleExcluded(JRequest::getInt('id', 0))) {
$this->createButton($article);
Idem pour la ligne 257 La troisième ligne en dessous
function getArticleLink(&$article)
{
$u =& JFactory::getURI();
return $u->toString();
}
J'ai lu Remplacer JRequest (obsolète) par JInput quand j'ai reçu l'avis et essayé beaucoup avec la solution donnée sur cette page (et d'autres pages), mais malheureusement pas de succès.
Quelqu'un a-t-il une solution pour que cela fonctionne en PHP7.2?
Parce que l'argument de fonction contient un &
au début, il faut passer une variable par référence plutôt que de référencer directement une valeur d'objet.
Vous devrez donc remplacer ceci:
if ($this->isArticleExcluded(JRequest::getInt('id', 0))) {
}
avec ça:
$id = JFactory::getApplication()->input->get('id');
if ($this->isArticleExcluded($id)) {
}
Vous pouvez également supprimer le &
avant JFactory