Änderungen
/* Aufbau der Hauptdatei */
<source lang="php">
class PayPalPG extends PaymentGateway {
</source>
Es wird eine statische Variable benötigt, welchen den Kurznamen der Klasse enthält (theoretisch darf dieser auch abweichen, der Übersichtlichkeit halber sollte dieser aber gleich sein):
<source lang="php">
public static $shortName = "paypal";
</source>
Für jede Gateway-Klasse sollte ein eigener Konstruktor geschrieben werden. Dieser muss den Konstruktor von ''PaymentGateway'' (der Oberklasse) aufrufen und sollte die aktuelle Sprache festsetzen. Außerdem müssen die Sprachdateien geladen werden. Wir lernen hier den Ausnahmen-Typ ''ModuleException'' kennen. Ein Wurf einer solchen Ausnahme wird das Modul nicht laden sondern ignorieren.
<source lang="php">
public function __construct($language) {
parent::__construct(self::$shortName);
$this->language = $language;
if(!include(dirname(__FILE__) . "/language/$language.php"))
throw new ModuleException();
if(!is_array($addonlang) || !isset($addonlang["NAME"]))
throw new ModuleException();
}
</source>