этот код прекрасно работает на php5.4, но не на php5.3, как изменить его для работы с php5.3 - PullRequest
0 голосов
/ 02 мая 2018

У меня есть сайт Joomla на локальном сервере с php5.4, и он отлично работает но когда я загружаю его на действующий сервер, весь сайт выдает ошибку «неожиданно [» в строке 491 в example.php комментируя эту строку, она работает хорошо, но я не уверен, что это создаст проблему в каком-либо расширении.

строка 491, которая дает эту ошибку

$hash = md5(json_encode([$reftable,$reffield, $refids, $language]));

полный код функции, содержащий эту строку:

public function getRawFieldTranslations($reftable,$reffield, $refids, $language)
{

    static $cache = array();

    $hash = md5(json_encode([$reftable,$reffield, $refids, $language]));

    if (!isset($cache[$hash])) {
        $db      = JFactory::getDbo();
        $dbQuery = $db->getQuery(true)
            ->select($db->quoteName('value'))
            ->from('#__falang_content fc')
            ->where('fc.reference_id = ' . $db->quote($refids))
            ->where('fc.language_id = ' . (int) $language)
            ->where('fc.published = 1')
            ->where('fc.reference_field = ' . $db->quote($reffield))
            ->where('fc.reference_table = ' . $db->quote($reftable));

        $db->setQuery($dbQuery);
        $result  = $db->loadResult();

        //$cache[$hash] don't like null value
        if (!empty($result)){
           $cache[$hash] = $result;
        } else {
           $cache[$hash] = '';
        }

    }

    return $cache[$hash];
}

так, точно, чтобы изменить этот код для работы с php5.3

...