PHP Conference Nagoya 2025

DOMImplementation::createDocument

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocumentBelge elemanı belirtilen DOMDocument nesnesini oluşturur

Açıklama

public DOMImplementation::createDocument(?string $isimalanı = null, string $önekliAd = "", ?DOMDocumentType $belgeTürü = null): DOMDocument

Belge elemanı belirtilen DOMDocument nesnesini oluşturur.

Bağımsız Değişkenler

isimalanı

Oluşturulacak belge elemanının isim alanını betimleyen adres.

önekliAd

Oluşturulacak belge elemanının isim alanı önekli ismi.

belgeTürü

Oluşturulacak belgenin türü veya null.

Dönen Değerler

Yeni bir DOMDocument nesnesi döner. uri, önekliAd ve belgeTürü olarak null belirtilirse belge elemanı olmayan boş bir DOMDocument nesnesi döner.

Hatalar/İstisnalar

DOM_WRONG_DOCUMENT_ERR

belgeTürü başka bir belgede zaten kullanılmışsa veya başka bir gerçeklenim tarafından oluşturulmuşsa bu hata oluşur.

DOM_NAMESPACE_ERR

uri ve önekliAd ile saptanan isim alanı ile ilgili bir hata durumunda bu hata oluşur.

Sürüm Bilgisi

Sürüm: Açıklama
8.4.0 İşlevin dönüş türü deneme niteliğinde DOMDocument oldu.
8.0.3 isimalanı artık null olabiliyor.
8.0.0 belgeTürü artık null olabiliyor.
8.0.0 Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Ayrıca Bakınız

add a note

User Contributed Notes 3 notes

up
7
eboyjr
14 years ago
To add on to the other example, here's how to create an XHTML 1.0 transitional document with head, title, and body elements.

<?php

$document
= DOMImplementation::createDocument(null, 'html',
DOMImplementation::createDocumentType("html",
"-//W3C//DTD XHTML 1.0 Transitional//EN",
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"));
$document->formatOutput = true;

$html = $document->documentElement;
$head = $document->createElement('head');
$title = $document->createElement('title');
$text = $document->createTextNode('Title of Page');
$body = $document->createElement('body');

$title->appendChild($text);
$head->appendChild($title);
$html->appendChild($head);
$html->appendChild($body);

echo
$document->saveXML();
?>

This outputs: (http links removed due to spam)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd">
<html xmlns="w3org1999xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Title of Page</title>
</head>
<body></body>
</html>

Note the saveXML function. If saveHTML was used instead, you get the output:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd">
<html>
<head><title>Title of Page</title></head>
<body></body>
</html>
up
2
arturm at union dot com dot pl
18 years ago
To create HTML document with doctype:

<?php
$doctype
= DOMImplementation::createDocumentType("html",
"-//W3C//DTD HTML 4.01//EN",
"http://www.w3.org/TR/html4/strict.dtd");
$doc = DOMImplementation::createDocument(null, 'html', $doctype);
?>
up
0
sleistico at gmail dot com
6 years ago
I just recently got an error, having to do with deprecation, by using the type of calls in the other example listed here. What I had to do instead looks like this...

$htmldoc = (new DOMImplementation)->createDocument(null, 'html', (new DOMImplementation)->createDocumentType("html"));

This creates a document with <!DOCTYPE html> at the top of it.
To Top