Allgemein
Komplexe Projekte können viel Programmierarbeit erfordern und bestimmte Mechaniken von objektorientierten Programmiersprachen (Vererbung, etc.) können in der JobRouter IDE bzw. der PHP API nicht angewendet werden. Für diese Fälle bietet JobRouter die Möglichkeit an Fremdbibliotheken und eigene Funktionsbibliotheken außerhalb des Prozessdesigners in der Verzeichnisstruktur des Prozesses abzulegen.
Externe Bibliotheken und eigene Funktionsbibliotheken können an verschiedenen Orten in JobRouter abgelegt werden:
Im functions-Verzeichnis
•\functions\[processname]\[version]\*
•\functions\[processname]\*
Im data-Verzeichnis
•\data\[processname]\[version]\*
•\data\[processname]\*
Verwendung innerhalb der JobRouter IDE
JobRouter verwendet ein Autoloading und lädt alle Klassen innerhalb des functions- und data-Verzeichnisses. Diese Klassen können dann in der JobRouter-IDE instanziiert werden.
Beispiel:
<?php
class className extends JobRouter\Engine\Runtime\PhpFunction\RuleExecutionFunction
{
public function execute($rowId = null)
{
$myClassInFunctionsDirectory = new MyClassInFunctionsDirectory();
}
}
?>
Sofern die eigenen Klassen keinen eigenen namespace verwenden, kann die Klasse wie im Beispiel instanziiert werden.
Beispiel mit Namespace:
<?php
class className extends JobRouter\Engine\Runtime\PhpFunction\RuleExecutionFunction
{
public function execute($rowId = null)
{
$myClassInFunctionsDirectory = new MyNameSpace\MyClassInFunctionsDirectory();
}
}
?>
Verhalten beim Import/Export und Prozess-Synchronisation
JobRouter exportiert und importiert die Inhalte des Prozessverzeichnisses - wie in "Speicherort" beschrieben - automatisch. Auch bei der Synchronisation von Test- und Produktivsystem werden die Inhalte aus den Verzeichnissen mit synchronisiert.
Bitte beachten Sie: Dateien, die im Prozessverzeichnis und nicht im Versionsverzeichnis abgelegt sind, werden mit dem letzten Import bzw. der letzten Synchronisation überschrieben.