create_function() is deprecated in class.rex_article_base.inc.php unter PHP 7.2
Verfasst: 23. Sep 2018, 14:12
hi all,
wegen Umstellung auf PHP 7.2 habe ich mehrere, ältere Webseiten mit Redaxo 4.x auf Redaxo 4.7.2 umgestellt. Bei diesen älteren Seiten machte Redaxo 5.x keinen Sinn, da ich alle Module hätte neu schreiben müssen. Bei einer Seite hatte ich plötzlich ein Problem, ich bekam einen Deprecated-Fehler bezüglich create_function() in der Datei class.rex_article_base.inc.php
Normalerweise macht ja ein Fix im Core nicht viel Sinn, aber die 4er Generation ist ja nun eine Sackgasse. Ich habe also (erfolgreich) wie folgt gefixt:
Hab den alten Code dokumentationshalber auskommentiert mal drinne gelassen. Haltet Ihr das für sinnvoll, oder gibt es bessere Lösung?
Immer dankbar für Tipps
Grüsse, Joachim
wegen Umstellung auf PHP 7.2 habe ich mehrere, ältere Webseiten mit Redaxo 4.x auf Redaxo 4.7.2 umgestellt. Bei diesen älteren Seiten machte Redaxo 5.x keinen Sinn, da ich alle Module hätte neu schreiben müssen. Bei einer Seite hatte ich plötzlich ein Problem, ich bekam einen Deprecated-Fehler bezüglich create_function() in der Datei class.rex_article_base.inc.php
Normalerweise macht ja ein Fix im Core nicht viel Sinn, aber die 4er Generation ist ja nun eine Sackgasse. Ich habe also (erfolgreich) wie folgt gefixt:
Code: Alles auswählen
/*protected*/ function replaceLinks($content)
{
return preg_replace_callback(
'@redaxo://(\d+)(?:-(\d+))?/?@i',
function ($matches) {
$secondParam = isset($matches[2])
? $matches[2]
: (integer) $this->clang;
return rex_getUrl($matches[1], $secondParam );
},
/*
create_function(
'$matches',
'return rex_getUrl($matches[1], isset($matches[2]) ? $matches[2] : ' . (integer) $this->clang . ');'
),
*/
$content
);
}
Immer dankbar für Tipps
Grüsse, Joachim