Object-oriented HTML Generation In PHP
Written by Alex Armstrong   
Tuesday, 09 September 2014
Article Index
Object-oriented HTML Generation In PHP
Object-oriented approach
PHPQuery

 PHPQuery

If you have heard of or used JQuery you probably know that it is a Javascript library that allows you to manipulate the DOM on the client side. PHPQuery is a PHP version of JQuery intended for use on the server side. In most cases PHPQuery and JQuery are used to analyse an existing DOM, but there are big advantages to using them for a slightly less obvious task - generating HTML via the DOM.

Using PHPQuery has an even bigger advantage if you are already using JQuery on the client side - after all why learn two different approaches.

You can download PHPQuery from:

http://code.google.com/p/phpquery/

where you will also find documentation and a community site.

Once you have the PHP library installed you can use it to generate the button example very simply:

$doc = phpQuery::newDocument();
$button=pq('<input>')
  ->attr('type','button')
  ->attr('style','width:150px')
  ->attr('value','My Button');
$doc->append($button);
echo $doc;

The steps in the program are very simple. First we open a new document, then create a PHPQuery button object, complete with attribute settings, append the object to the DOM, and finally generate the HTML.

It really is this easy and notice the way that the method calls to set the attributes can be chained together - just like JQuery.  If you already know JQuery than the only extra information you really need is the fact that the pq function behaves like the Javascript JQuery or $ function.

Of course there is more to PHPQuery than generating simple buttons and you can use it to process a DOM in complex ways in an efficient style that characterises JQuery. It even supports server side Ajax using a similar set of method calls!

The big problem is that PHPQuery also seems to have died as a project. You can still download the code but nothing seems to be happening any more - shame. 

HTML

The future

Generating HTML is PHP's main role in life and as such it is surprising that it does it so badly.

Quoting HTML tags is an easy way to get beginners started, but the horrible mix of HTML and PHP that results when you try to generate a real web page is far from good.

PHP needs an official, i.e. built-in to the language system, object-oriented way of generating HTML.

Until such time you will have to create your own solutions if you want to go down this road. 

 

Related Articles

Ten minutes to PHP objects

PHP inner functions and closure

Advanced loops

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Developing with PHP and Eclipse (Indigo)

Find out how to make PHP development easy with the latest version of Eclipse, Indigo, and how to set up local and remote debugging.


 

blog comments powered by Disqus

<ASIN:1847198384>

<ASIN:0596803028>

<ASIN:1430229195>

<ASIN:1430228474>

<ASIN:0596804377>

<ASIN:0596159773>



Last Updated ( Tuesday, 09 September 2014 )
 
 

   
RSS feed of all content
I Programmer - full contents
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.