HTML コードの大きなチャンクをエコーしたり、echo <<<HEREDOC
を使用したりするのではなく、HTML 要素を作成し、子要素を相互に追加する関数を作成したいと考えています。
createLoginBar
関数は、他の HTML 要素に createLogoutBanner
関数に追加する div を作成します。
createLogoutBanner
関数の $dom->appendChild($login_bar);
行でエラーが発生します:
致命的エラー: キャッチされない TypeError: DOMNode::appendChild(): パラメーター #1 ($node) は、文字列で指定された DOMNode タイプである必要があります。
エラー条件のため、
リーリーDOMNode::appendChild()
にはDOMNode
が渡されることが予想されます。createLoginBar
関数は、ノードの代わりに文字列を返します。次の変更を試してください:
その後、エラー
リーリー ###結果:### リーリー サンドボックスFatal Error: Uncaught DOMException: Bad Documentation Error
が表示されます。これは、子ノードを作成するには DOMDocument の同じ親インスタンスを使用する必要があるためです。各関数で新しい DOMDocument を作成する代わりに、トップレベルの DOMDocument を作成し、それを使用する各関数に渡します。