Ein einfaches Beispiels-Plugin.

Hallo,: WikiUser?!

Vom Quellcode dieser Seite:

<?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>

PhpWiki's Plugin Architektur erlaubt dir benutzerdefinierte HTML Elemente deinem Wiki hinzuzufügen. Du mußt nur eine neue Klasse (Unterklasse) von der WikiPlugin Klasse ableiten, wie mit dem Namen unterhalb, und mit der run() Methode ja nach Wiki- oder Request Argumenten die HTML Ausgabe zu erzeugen.

/**
 * Ein einfaches Beispiels-WikiPlugin.
 * Name, Argumente und Texte bitte auf englisch, und erst in locale/po/de.po
 * auf Deutsch übersetzen.
 *
 * Aufruf:
 * <?plugin HelloWorld?&gt;
 * <?plugin HelloWorld
 *          salutation="Grüße, "
 *          name=Wikimeister
 * ? >
 * <?plugin HelloWorld salutation=Hallo ? >
 * <?plugin HelloWorld name=WabiSabi ? >
 */

// Konstanten vor der Klasse definieren.
if (!defined('THE_END'))
    
define('THE_END'"!");

class 
WikiPlugin_HelloWorld
extends WikiPlugin
{
    
// Fünf notwendige Funktionen in einem WikiPlugin.

    
function getName () {
        return 
_("HelloWorld");
    }

    function 
getDescription () {
        return 
_("Simple Sample Plugin");
    }

    function 
getVersion() {
        return 
preg_replace("/[Revision: $]/"'',
                            
"\$Revision: 1.2 $");
    }

    
// Establish default values for each of this plugin's arguments.
    
function getDefaultArguments() {
        return array(
'salutation' => "Hello,",
                     
'name'       => "World");
    }

    function 
run($dbi$argstr$request) {
        
extract($this->getArgs($argstr$request));

        
// Any text that is returned will not be further transformed,
        // so use html where necessary.
        
$html HTML::tt(fmt('%s: %s'$salutationWikiLink($name'auto')),
                         
THE_END);
        return 
$html;
    }
};