Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
А зачем второй пустой атрибут в getCmd?
Значение по умолчанию
Пример $view = $input->getCmd('view', 'myview');
если передана в REQUEST переменная view то вернет то что передали, если не передана то вернет myview
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Федор, но дальше ты уже не можешь использовать filter_input:
Код: php
$_REQUEST['task'] = 'add';

print_r($_REQUEST) выдаст add, но если в task до этого было установлено другое значение, то filter_input(INPUT_GET, 'task', FILTER_SANITIZE_STRING); выдаст не add, а другое значение.
filter_input не работает с $_REQUEST, для этого достаточно других функций
Код: php-brief
$_REQUEST['task'] = 'test';
//здесь если в массиве $_REQUEST не будет task ошибки не будет
$task = filter_var($_REQUEST['task'], FILTER_SANITIZE_STRING);
var_dump($task);
$task = filter_var_array ( $_REQUEST, array('task'=> FILTER_SANITIZE_STRING));
var_dump($task);
die;
;D
подведу итог класс Jinput
Код: php-brief
$_REQUEST['task'] = 'test'; //записываем
$task = filter_var($_REQUEST['task'], FILTER_SANITIZE_STRING); //считываем
//$option = filter_input(INPUT_GET, 'option', FILTER_SANITIZE_STRING); //90% всех благ
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Вообщем ты предлагаешь работать с чистым PHP. Не гибко. Ты ограничен существующими методами PHP.

Возьмем тот же JFilterInput - разве в PHP есть все методы, которые реализованы в этом классе?

Плюс, какой бонус в том, чтобы использовать две строки вместо одной $input->getCmd('task', 'default')? И самое главное, как передавать значение по умолчанию?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
А зачем второй пустой атрибут в getCmd?
А вот это уже "сахар" Женя
Иначе тебе как минимум пришлось использовать тернарный оператор или конструкцию if  else
Код: php-brief
//если a не определена, равна Null, "" выведет 10
$a = $a ? $a: 10;
var_dump($a);
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Возьмем тот же JFilterInput - разве в PHP есть все методы, которые реализованы в этом классе?
Со значением Саша ошибся, получать данные. Это не большая проблема ответ выше
А фильтров больше, причем можешь сам писать, а когда есть функция обратного вызова, то тут вообще руки развязаны
http://www.php.net/manual/ru/filter.filters.php
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
А фильтров больше, причем можешь сам писать
То есть все равно придется создавать какой-то класс-билиотеку, который будет содержать в себе эти фильтры. Вообщем не знаю, но твое предложение мне лично кажется очень спорным решением.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Зачем создавать библиотеку она ведь уже есть. Ведь все равно ты фильтры и наименования в памяти не хранил. Либо в доки смотрел, или редактор подсказал. Дело в том, что функции нативные и не требуют подключения ядра Joomla
Классы можно эти не использовать (ведь они и не мешают) а вот в формах там да надо будет думать, чтобы расширить или переделать
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Федор, я всеравно не понимаю зачем писать много когда можно писать мало. Из-за призрачного выигрыша в скорости? Призрачный он потому, что самые тяжелые операции - выборка данных и т.п., они занимают львиную долю времени отдачи страницы, При ускорении в 2 раза, даже в бесконечное число раз операции фильтрации, в общей массе прирост производительности будет в пределах погрешности измерений, т.е. ничтожен. Никакого смысла мудрить в этом месте нет.
Плюс к тому есть стандарты программирования и под разные фреймворки они разные. Для легкой поддержки кода другими программистами необходимо придерживаться стандартов, если каждый будет писать как придется, программисту, получившему в поддержку сию кашу, останется только застрелиться.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Arkadiy, не как придется, а на чистом языке. Человек знающий php , будет читать его, понимать с легкостью без знаний фреймворка. И почему это много, оно работает без использования постороннего кода
Код: php-brief
$option = filter_input(INPUT_GET, 'option', FILTER_SANITIZE_STRING);
если нужно получить значение option для условий то почему бы  и нет. И это не каша ибо каждая переменная здесь названа логично и понятливо. Если полностью читал топик то в Google я им привел ***код который они из версии в версию включают и это из-за того развитого бюрократизма их команды. Проект с миллионным бюджетом, жадничают нанять профессионалов для рефакторинга. Отдать проект на аутсорсинг.
А тыкаешь носом в код, так напиши в баг трекер. Пусть платят за ошибки быстрее соберут. Это политика нормальных, крупных компаний. Которые ценят своих поклонников их время и знания.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Понятно, как бы мы не спорили, все останутся при своих привычках.  Но дискуссия интересная. Какие-то весомые аргументы в пользу фреймворка есть? Я пока только два вижу.
Это более безопасный код у начинающих (например, юзай JFactory::getSession(); вместо $_SESSION[]; и не переживай про переопределение кем-то глобальных массивов);
И второй это возможность прописать собственные параметрыв в общие классы фреймворка (что обеспечивает  интеграцию между расширениями).
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Федор, ну никто же не мешает использовать filter_input. Используй на здоровье, но JInput при этом грохать нет смысла, у него все же есть два плюса перед filter_input:
- позволяет получать переменные с установкой значения по умолчанию
- позволяет работать с измененными супермассивами
*

KoreshS

  • Новичок
  • 9
  • 1 / 0
Между прочим разработчики бы могли бы и конструкцию сделать
Код
JFactory::getInput();
Ведь на то он и Factory(фабрика), чтобы основные функции в себе содержать.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
application содержит в себе input. Когда надо оба пишу так:
Код: php
$app = JFactory::getApplication();
$var = $app->input->getInt('var', 0);
Если нужен только input, то
Код: php
$input = JFactory::getApplication()->input;
$var = $input->getInt('var', 0);
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Я всегда делаю $app = JFactory::getApplication();
Ну а потом если нужен input то $app->input и т.д Если в редакторе нормальная подсветка кода, то читаеться легко.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Использование JFactory в подключаемых php файлах

Автор oopros

Ответов: 3
Просмотров: 2578
Последний ответ 29.11.2016, 15:25:12
от b2z
Вопрос по PROFILER и JFactory

Автор Haybul

Ответов: 2
Просмотров: 2056
Последний ответ 02.08.2014, 04:33:57
от Haybul
[Решено] Что лучше, что правильно JHtml::метод(параметры) или JHtml::_(метод, параметры)?

Автор MansEL

Ответов: 7
Просмотров: 1933
Последний ответ 01.07.2014, 18:24:15
от b2z
Joomla 3.1 не находит JRequest. Не работает AJAX!

Автор justquestion

Ответов: 2
Просмотров: 3780
Последний ответ 11.10.2013, 12:42:08
от Aleks.Denezh
Как прикрепить файл к письму через форму input type="file"?

Автор DiEV

Ответов: 15
Просмотров: 9811
Последний ответ 09.06.2013, 10:02:10
от Aleks.Denezh