Reply to Re: [PHP] Re: Using DOM object, how?

Your name:

Reply:


Posted by Ken Tozier on 09/19/05 21:25

>
Rats. Looks like you can't encapsulate DOM objects in your own
classes. I tried this and the browser 'view source' shows a
completely empty document.

<?php
$x = new MyDom();
$x->createScriptElement('howdy.js');

class MyDom
{
function MyDom()
{
$dom = new DOMDocument('1.0', 'iso-8859-1');
return $this;
}

function createScriptElement($inScriptPath)
{
$script = $this->dom->createElement('script','');
$script->setAttribute('language', 'javascript');
$script->setAttribute('src', 'howdy.js');


$this->dom->appendChild($script);

echo $this->dom->saveXML();
}
}
?>

If the element adding code is in the same function as the dom create,
it works
<?php
$x = new MyDom();

class MyDom
{
function MyDom()
{
$dom = new DOMDocument('1.0', 'iso-8859-1');
$script = $dom->createElement('script','');
$script->setAttribute('language', 'javascript');
$script->setAttribute('src', 'howdy.js');


$dom->appendChild($script);

echo $dom->saveXML();
return $this;
}
}
?>

Also if the DOM object is declared outside the class, and class
functions access it as a global it works
<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$x = new MyDom();
$x->createScriptElement('howdy.js');

class MyDom
{
function MyDom()
{
return $this;
}

function createScriptElement($inScriptPath)
{
global $dom;

$script = $dom->createElement('script','');
$script->setAttribute('language', 'javascript');
$script->setAttribute('src', $inScriptPath);


$dom->appendChild($script);

echo $dom->saveXML();
}
}
?>

Would be nice if you could encapsulate it though...



> You can probably add an empty text node to the script tag, or a
> text node consisting of a single space, or something like that, to
> make it use the long form.
>
> --
> Jasper Bryant-Greene
> Freelance web developer
> http://jasper.bryant-greene.name/
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация