get(ForProcessor::class); // Test HTML with foreach attribute $html = <<<'HTML'
Model Version Status
{{ $model['model_name'] }} {{ $model['version'] }} {{ $model['status'] }}
HTML; // Test data $data = [ 'models' => [ ['model_name' => 'fraud-detector', 'version' => '1.0.0', 'status' => 'healthy'], ['model_name' => 'spam-classifier', 'version' => '2.0.0', 'status' => 'degraded'], ] ]; // Create render context $context = new RenderContext( template: 'test', metaData: new MetaData('test', 'test'), data: $data, controllerClass: null ); // Process echo "=== ORIGINAL HTML ===\n"; echo $html . "\n\n"; $dom = DomWrapper::fromString($html); echo "=== CHECKING FOR FOREACH NODES ===\n"; $foreachNodes = $dom->document->querySelectorAll('[foreach]'); echo "Found " . count($foreachNodes) . " foreach nodes\n\n"; foreach ($foreachNodes as $idx => $node) { echo "Node $idx:\n"; echo " Tag: " . $node->tagName . "\n"; echo " Foreach: " . $node->getAttribute('foreach') . "\n"; echo " HTML: " . substr($dom->document->saveHTML($node), 0, 200) . "\n\n"; } echo "=== PROCESSING WITH ForProcessor ===\n"; $processedDom = $forProcessor->process($dom, $context); echo "=== PROCESSED HTML ===\n"; echo $processedDom->toHtml(true) . "\n";