Новости 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

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

Ptolemej

  • Захожу иногда
  • 52
  • 6 / 0
mod_helloworld туториал
« : 17.03.2008, 20:06:54 »
Оригинал статьи
Оригинал статьи (английский)
http://dev.joomla.org/component/option,com_jd-wiki/Itemid,/id,modules:hello_world/

Сама статья укороченная, не стал писать вводные тексты, а только то, что мне кажется важным.


Файловая структура:
В основном используется четыре файла для написания модулей:
  • mod_helloworld.php — это главный файл для модуля. Используется для инициации, вызова помощника для сбора различных данных, загрузка темплея, который выводит результат работы.
  • mod_helloworld.xml — этот файл содержит информацию о модуле. Он определяет файлы, которые нужны для инсталяции и специфические настройки модуля.
  • helper.php — этот файл содержит класс-помощник, который собирает всю информацию (обычно из базы данных или других мест)
  • tmpl/default.php — это темплей модуля. Он показывает все собранные данные и генерирует ХТМЛь, в нужном виде.


Создаём mod_helloworld.php
mod_helloworld.php выполняет три функции:
  • загружает helper.php
  • вызывает нужные методы класса-помошника
  • загружает файл темплея.

Код
<?php
/**
 * Hello World! Module Entry Point
 *
 * @package    Joomla.Tutorials
 * @subpackage Modules
 * @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
 * @license        GNU/GPL, see LICENSE.php
 * mod_helloworld is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 */

// zawita ot prjamogo dostupa
defined( '_JEXEC' ) or die( 'Restricted access' );

// tol'ko odin raz zagruzit' fajl s klassom-pomownikom
require_once( dirname(__FILE__).DS.'helper.php' );

// vypolnit' metod  getHello() klassa-pomownika modHelloWorldHelper
$hello = modHelloWorldHelper::getHello( $params );


require( JModuleHelper::getLayoutPath( 'mod_helloworld' ) );
?>


Создание helper.php

Код
<?php
/**
 * Helper class for Hello World! module
 *
 * @package    Joomla.Tutorials
 * @subpackage Modules
 * @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
 * @license        GNU/GPL, see LICENSE.php
 * mod_helloworld is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 */

// zawita ot prjamogo dostupa
defined( '_JEXEC' ) or die( 'Restricted access' );

class modHelloWorldHelper
{
    /**
     * Retrieves the hello message
     *
     * @param array $params An object containing the module parameters
     * @access public
     */   
    function getHello( $params )
    {
        return 'Hello, World!';
    }
}
?>


Создание tmpl/default.php

Код
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php echo $hello; ?>


Создание mod_helloworld.xml

Код
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>Hello, World!</name>
    <author>John Doe</author>
    <version>1.5.1</version>
    <description>A simple Hello, World! module.</description>
    <files>
        <filename module="mod_helloworld">mod_helloworld.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
    </files>
    <params>
    </params>
</install>


Маленькая добавка

В каждую папку, которую мы создаём надо добавлять index.html, чтобы нельзя было просмотреть содержание папок при их прямом вызове.
Код
<html><body bgcolor="#FFFFFF"></body></html>


P.S. Кириллица в коде в виде уникода отображается, пришлось писать транслитом.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться