Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1291 Просмотров
*

wayn

  • Захожу иногда
  • 72
  • 0 / 0
Здравствуйте. Создал такой заголовок, так как перед созданием темы очень тщательно гуглил. Дело в том что модуль при переезде на PHP 7.2 выдает ошибку 0 - [] operator not supported for strings

Код
[] operator not supported for strings
/home/oigxrgzf/public_html/components/com_layer_slider/base/includes/slider_markup_init.php:98

Вот сам файл:

Код
<?php
/*-------------------------------------------------------------------------
# com_layer_slider - com_layer_slider
# -------------------------------------------------------------------------
# @ author    John Gera, George Krupa, Janos Biro, Balint Polgarfi
# @ copyright Copyright (C) 2015 Offlajn.com  All Rights Reserved.
# @ license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
# @ website   http://www.offlajn.com
-------------------------------------------------------------------------*/
?><?php
defined('_JEXEC') or die;

$slider = array();

// Filter to override the defaults
if(jols_has_filter('layerslider_override_defaults')) {
$newDefaults = apply_filters('layerslider_override_defaults', $lsDefaults);
if(!empty($newDefaults) && is_array($newDefaults)) {
$lsDefaults = $newDefaults;
unset($newDefaults);
}
}

// Hook to alter slider data *before* filtering with defaults
if(jols_has_filter('layerslider_pre_parse_defaults')) {
$result = apply_filters('layerslider_pre_parse_defaults', $slides);
if(!empty($result) && is_array($result)) {
$slides = $result;
}
}


// Filter slider data with defaults
$slides['properties'] = apply_filters('ls_parse_defaults', $lsDefaults['slider'], $slides['properties']);
$slides['properties']['attrs']['skinsPath'] = LS_ROOT_URL.'/static/skins/';
if(isset($slides['properties']['autoPauseSlideshow'])) {
switch($slides['properties']['autoPauseSlideshow']) {
case 'auto': $slides['properties']['autoPauseSlideshow'] = 'auto'; break;
case 'enabled': $slides['properties']['autoPauseSlideshow'] = true; break;
case 'disabled': $slides['properties']['autoPauseSlideshow'] = false; break;
}
}

// Slides and layers
if(isset($slides['layers']) && is_array($slides['layers'])) {
foreach($slides['layers'] as $slidekey => $slide) {
$slider['slides'][$slidekey] = apply_filters('ls_parse_defaults', $lsDefaults['slides'], $slide['properties']);
if(isset($slide['sublayers']) && is_array($slide['sublayers'])) {
foreach($slide['sublayers'] as $layerkey => $layer) {
if(!empty($layer['transition'])) {
$layer = array_merge($layer, json_decode(stripslashes($layer['transition']), true));
}
$slider['slides'][$slidekey]['layers'][$layerkey] = apply_filters('ls_parse_defaults', $lsDefaults['layers'], $layer);
}
}
}
}

// Hook to alter slider data *after* filtering with defaults
if(jols_has_filter('layerslider_post_parse_defaults')) {
$result = apply_filters('layerslider_post_parse_defaults', $slides);
if(!empty($result) && is_array($result)) {
$slides = $result;
}
}

$root = isset($slides['properties']['props']['cmsrelativeurls'])? rtrim(JURI::root(true), '/') : '';
if (!empty($slides['properties']['attrs']['globalBGImage']))
$slides['properties']['attrs']['globalBGImage'] = ls_cmsroot($root, $slides['properties']['attrs']['globalBGImage']);
if (!empty($slides['properties']['attrs']['yourLogo']))
$slides['properties']['attrs']['yourLogo'] = ls_cmsroot($root, $slides['properties']['attrs']['yourLogo']);

// Get init code
foreach($slides['properties']['attrs'] as $key => $val) {

if(is_bool($val)) {
$val = $val ? 'true' : 'false';
$init[] = $key.': '.$val;
} elseif(is_numeric($val)) { $init[] = $key.': '.$val;
} elseif(substr($key, 0, 2) == 'cb' && empty($val)) { continue;
} elseif(strpos($val, 'function(') === 0) { $init[] = $key.': '.$val;
} else { $init[] = "$key: '$val'"; }
}
$init = implode(', ', $init);
/*
// Fix multiple jQuery issue
$data[] = '<script type="text/javascript">';
$data[] = 'var lsjQuery = jQuery;';
// $data[] = "var curSkin = '{$slides['properties']['attrs']['skin']}';";
$data[] = '</script>';
*/
// Include JS files to body option
if(jols_get_option('ls_put_js_to_body', false)) {
    $data[] = '<script type="text/javascript" src="'.LS_ROOT_URL.'/static/js/layerslider.kreaturamedia.js?ver='.LS_PLUGIN_VERSION.'"></script>' . NL;
    $data[] = '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/TweenMax.min.js"></script>' . NL;
}

$data[] = '<script type="text/javascript">' . NL;
$data[] = '(window.lsjq||jQuery)(document).ready(function($) {' . NL;
$data[] = 'if(typeof $.fn.layerSlider == "undefined") { lsShowNotice(\'layerslider_'.$id.'\',\'jquery\'); }' . NL;
$data[] = 'else {' . NL;
$data[] = '$("#layerslider_'.$id.'").layerSlider({'.$init.'})' . NL;
$data[] = '}' . NL;
$data[] = '});' . NL;
$data[] = '</script>';



Буду очень признателен за помощь.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Плохо гуглили, вторая ссылка по запросу "php 7.2 operator not supported for strings" в гугле ))
https://www.saotn.org/fatal-error-operator-not-supported-strings-php-71/
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль mod_custom: где сохраняется добавляемый код?

Автор r0m4n

Ответов: 8
Просмотров: 2754
Последний ответ 20.12.2023, 09:52:48
от kit2m2
Можно ли на gridbox установить swiper slider

Автор tsimba

Ответов: 0
Просмотров: 706
Последний ответ 13.10.2021, 12:17:59
от tsimba
SP Page Builder video slider

Автор wishlight

Ответов: 0
Просмотров: 759
Последний ответ 16.09.2021, 21:38:11
от wishlight
Smart Slider 3: настройка под мобильные устройства

Автор coliandra

Ответов: 4
Просмотров: 1993
Последний ответ 31.01.2021, 11:10:14
от coliandra
Адаптивный xeon slider на ПК и на мобильном?

Автор bonusfree

Ответов: 4
Просмотров: 1062
Последний ответ 08.01.2020, 22:00:49
от effrit