Object-Oriented HTML Generation In PHP
Written by Alex Armstrong   
Friday, 27 November 2020
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, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


PHP Control Structures 1 - if and else

Getting to grips with programming or a new language is a matter of mastering the flow of control. This is the key idea in programming and understanding it makes the difference between a programmer and [ ... ]



Ten minutes To PHP Objects

PHP is a fully object-oriented language with lots of powerful features. This introductory guide looks at how PHP handles objects.


Other Articles

espbook

 

Comments




or email your comment to: comments@i-programmer.info



Last Updated ( Friday, 27 November 2020 )