private function getNodeList() : Generator
    {
        $xpath    = new DOMXPath($this->document);
        $nodeList = $xpath->query('//input | //textarea | //select | //div[@data-input-name]');

        /** @var DOMElement $node */
        foreach ($nodeList as $node) {
            $name = $node->getAttribute('name');
            if (! $name) {
                $name = $node->getAttribute('data-input-name');
            }

            if (! $name || $node->getAttribute('type') === 'submit') {
                // At least a name is needed to submit a value.
                // Silently continue, might be a submit button.
                continue;
            }

            if ($node->hasAttribute('disabled')) {
                // Ignore disabled nodes
                continue;
            }

            yield $name => $node;
        }
    }
private function getNodeList() : Generator
    {
        $xpath    = new DOMXPath($this->document);
        $nodeList = $xpath->query('//input | //textarea | //select | //div[@data-input-name]');

        /** @var DOMElement $node */
        foreach ($nodeList as $node) {
            $name = $node->getAttribute('name');
            if (! $name) {
                $name = $node->getAttribute('data-input-name');
            }

            if (! $name || $node->getAttribute('type') === 'submit') {
                // At least a name is needed to submit a value.
                // Silently continue, might be a submit button.
                continue;
            }

            if ($node->hasAttribute('disabled')) {
                // Ignore disabled nodes
                continue;
            }

            yield $name => $node;
        }
    }
private function getNodeList ( ) : Generator { $ xpath = new DOMXPath ( $ this -> document ) ; $ nodeList = $ xpath -> query ( '//input | //textarea | //select | //div[@data-input-name]' ) ; /** @var DOMElement $node */ foreach ( $ nodeList as $ node ) { $ name = $ node -> getAttribute ( 'name' ) ; if ( ! $ name ) { $ name = $ node -> getAttribute ( 'data-input-name' ) ; } if ( ! $ name || $ node -> getAttribute ( 'type' ) === 'submit' ) { // At least a name is needed to submit a value. // Silently continue, might be a submit button. continue ; } if ( $ node -> hasAttribute ( 'disabled' ) ) { // Ignore disabled nodes continue ; } yield $ name => $ node ; } }
Get form elements and create an id if needed

return Generator<string, DOMElement>
Get form elements and create an id if needed