[-][+] demo@doophp
Doophp Templating demo. Class used - DooView
...

Template Syntax Example

Variables are output with {{varname}}


# A simple variable, in Controller it's $data['variable']

{{variable}}



# Using assoc array, $data['user']['fullname'] = 'DooPHP'

{{user.fullname}}



# Using functions/template tag with variables, case insensitive

{{upper(variable)}}

{{UPPER(user.fullname)}}



# You can pass in arguments with the functions

{{sample_with_args(variable, 'This is an argument')}}

        

Include a template file <!-- include 'file' -->


# Including a template file 

<!-- include 'template_name_without_dot_html' -->



# Including a template file which is in a sub directory

<!-- include 'folder/templatename' -->



# Including a template file where the name is from a variable

<!-- include "{{filename}}" -->

        

Looping a list <!-- loop users -->


# Looping a simple array $data['users']=array('john','doo','marie') 

<!-- loop users -->

    <li> {{users' value}} </li>

<!-- endloop -->



# Or a shorter alternative ... 

<!-- loop users -->

    <li> {{users' v}} </li>

<!-- endloop -->



# The loop name can be change ... 

<!-- loop users -->

    <li> {{loop' v}} </li>

<!-- endloop -->







# Functions can be used in loop 

<!-- loop users -->

    <li> {{upper(users' value)}} </li>

<!-- endloop -->



# Looping an assoc array

 $data['users']=array(

    'john'=>array('name'=>'John Smith', 'gender'=>'male'),

    'lee'=>array('name'=>'Bruce Lee', 'gender'=>'male')

 );



<!-- loop users -->

    <li> {{users' key}} fullname is {{users' value.name}} gender is {{users' value.gender}} </li>

<!-- endloop -->

        

Using Objects in Template {{object.@property}}


# A simple object

Doo::loadModel('SomeModel');

$obj = new SomeModel;

$obj->fullname = 'My Cool Name';

$obj->SomeObject->weight = 88

$data['obj'] = $obj;



{{obj.@fullname}}

{{upper(obj.@fullname)}}

{{obj.@SomeObject.@weight}}





# Looping an array of Object

<!-- loop users -->

    <li>

        Name:   {{users' value.@fullname}}

        Gender: {{users' value.@gender}}

        Weight: {{users' v.@Physical.@weight}}

        Height: {{l' v.@Physical.@height}}

    </li>

<!-- endloop -->

        
BACK TO TOP