Verwenden Sie die Anmerkung '@MessageBrokerLocalEnvironmentTransform', um das Verhalten der Methode 'evaluate' in einer PHP-Klasse zu ändern.
Die Anmerkung '@MessageBrokerLocalEnvironmentTransform' ist der Anmerkung '@MessageBrokerSimpleTransform' ähnlich, erstellt jedoch eine Kopie der Baumstruktur der lokalen Umgebung in der Ausgabe-Assembly.
Bei Verwendung von '@MessageBrokerLocalEnvironmentTransform' wird die lokale Umgebung von den dem PHPCompute-Knoten nachgeschalteten Knoten verändert. Selbst wenn '@MessageBrokerLocalEnvironmentTransform' nicht verwendet wird, sind Änderungen der lokalen Umgebung durch den Knoten möglich. Diese Änderungen wirken sich dann auf alle Knoten im Datenfluss (einschließlich vorgeschalteter Knoten) aus.
Im folgenden Beispiel werden zwei neue Ordner in der Baumstruktur der lokalen Umgebung gefüllt und die untergeordnete Baumstruktur Wildcard (Platzhalterzeichen) von der lokalen Umgebung in die Ausgabenachricht kopiert:
<?php
class LocalEnvironmentTest {
/**
* Test local environment messages.
*
* @MessageBrokerSimpleTransform
* @MessageBrokerLocalEnvironmentTransform
*/
function evaluate($output_assembly, $input_assembly) {
$output_assembly[MB_LOCAL_ENVIRONMENT]->Folder1 = 'some string';
$output_assembly[MB_LOCAL_ENVIRONMENT]->Folder2->SubFolder =
'another string';
$output_assembly->XMLNSC->Message->InputLocalEnvironment =
$input_assembly[MB_LOCAL_ENVIRONMENT]->Wildcard;
}
}
?>