Joomla 2.5 Templates – $this->

We are continuing to review Joomla 2.5’s Beez2 template code, and we next come accross the following code:

<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >

In our review thus far, we have alread seen instances of $this->, for example:

What is $this-> ?

Technically speaking, in PHP $this refers to the current object. PHP will set the contents of $this when you are inside a function of an object.

If we update our template’s code as follows, we can see more information about $this:

<? echo "<pre>"; print_r($this); echo "</pre>"; die(); ?> <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >

The output above is quite long, and below we’ve included the first few lines only:

JDocumentHTML Object
(
    [_links] => Array
        (
            [/joomla25/index.php?format=feed&type=rss] => Array
                (
                    [relation] => alternate
                    [relType] => rel
                    [attribs] => Array
                        (
                            [type] => application/rss+xml
                            [title] => RSS 2.0
                        )

Based upon the first line, $this appears to be referring to the JDocumentHTML Object, which we touched based on in a previous article.

When is $this-> used in the Beez2 template?

When scanning the index.php file of the Beez2 template, there are several uses of $this:

Was this article helpful? Join the conversation!