Новости 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 Гость просматривают эту тему.
  • 2 Ответов
  • 1715 Просмотров
*

Se

  • Захожу иногда
  • 223
  • 2 / 1
Как указать, что бы на маленьких картинках, не прописывался водяной знак.
Или как вообще запретить водяной знак на фото меньше определённого размера

Код
<?php
// Скрипт скачен с wdda.pro

// Путь до файла с оригинальным изображением
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$nameImage = end(explode('/', $_SERVER['REQUEST_URI'])); // Имя изображения
$nameImageId = md5($path). $nameImage;

// Проверяем дату для рефреша кеша
$dateImage = filemtime($path);
$dateImageCache = @filemtime($_SERVER['DOCUMENT_ROOT'] . "/watermark/cache/" . $nameImageId);

//Устанавливаем качество (вес) картинки на выходе
$quality = 100;

if(file_exists('cache/' . $nameImageId) && $dateImage < $dateImageCache)
{
$image = imagecreatefromstring(file_get_contents('cache/' . $nameImageId));
header('Content-type: image/jpeg');
imagejpeg($image, NULL, $quality);
exit();
}
else // Если же нет такой картинки в кэше
{
// Загружаем оригинальное изображение
$image = imagecreatefromstring(file_get_contents($path));

// Получаем ширину и высоту оригинально изображения
$w = imagesx($image);
$h = imagesy($image);

// Загружаем изображение с водяным знаком
$watermark = imagecreatefrompng('watermark.png');

//Вместо 235 можете поставить свое значение, это размер для маленьких фото для них будет испольщоваться маленький ватермарк
if($w == 235)
{
$watermark = imagecreatefrompng('watermark_m.png');
}

// Получаем ширину и высоту водяного знака
$ww = imagesx($watermark);
$wh = imagesy($watermark);

// Соединяем оригинальное изображение и водяной знак.(водяной знак будет расположен в нижнем правом углу), можете попробовать его двигать меняя 10 и 5.
imagecopy($image, $watermark, $w-$ww-10, $h-$wh-5, 0, 0, $ww, $wh);

imagealphablending($image, false);
imagesavealpha($image, true); // Устанавливаем прозрачность для png файла

//Изменив значение 100, вы можете снизить качество получаемого фото
imagejpeg($image, 'cache/' . $nameImageId, $quality);
header('Content-type: image/jpeg');
imagejpeg($image, NULL, $quality);
exit();
}
?>

 
*

Se

  • Захожу иногда
  • 223
  • 2 / 1
В коде есть такое место, может всё же кто-нибудь подскажет как сделать!
//Вместо 235 можете поставить свое значение, это размер для маленьких фото для них будет испольщоваться маленький ватермарк
   if($w == 235)
   {
      $watermark = imagecreatefrompng('watermark_m.png');
   }
*

still2013

  • Новичок
  • 3
  • 0 / 0
В коде есть такое место, может всё же кто-нибудь подскажет как сделать!
//Вместо 235 можете поставить свое значение, это размер для маленьких фото для них будет испольщоваться маленький ватермарк
   if($w == 235)
   {
      $watermark = imagecreatefrompng('watermark_m.png');
   }
Установи значения
$w <= 235
$watermark = 0;
« Последнее редактирование: 18.11.2015, 17:34:48 от still2013 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как не выводить позицию модуля на моб устройствах, или меньше определенного разм?

Автор SergeySpace

Ответов: 3
Просмотров: 1011
Последний ответ 13.12.2019, 15:40:16
от SergeySpace
Simple Image Gallery Pro не загружает фото на сервер

Автор dekin

Ответов: 2
Просмотров: 1391
Последний ответ 01.05.2018, 17:58:30
от dekin
DJ-MediaTools показывает максимум 50 фото в альбоме

Автор Ether

Ответов: 0
Просмотров: 912
Последний ответ 11.09.2017, 13:09:34
от Ether
Бесплатный модуль "Brilliant Instajoom" для добавления фото с Instagram на Ваш сайт Joomla3

Автор webmap

Ответов: 11
Просмотров: 14282
Последний ответ 14.02.2017, 22:30:39
от mlukyanov
Universal AJAX Live Search Search не выводит фото товаров

Автор tevong

Ответов: 4
Просмотров: 3866
Последний ответ 15.06.2016, 19:46:59
от Eholov