| Recommend this page to a friend! | 
|  Download | 
| Info | Documentation |  Files |  Install with Composer |  Download | Reputation | Support forum | Blog | Links | 
| Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
| 2025-05-08 (-4 hours ago)  | Not enough user ratings | Total: 410 | All time:  6,493 This week: 57  | |||||
| Version | License | PHP version | Categories | |||
| arab-template 22 | GNU General Publi... | 5.3 | PHP 5, Cache, Templates, Code Generation | 
| Description | Author | ||||||||||||||||||||||
| This class implements a template compiler engine that caches output. | 
 | ||||||||||||||||||||||
?????? ????? ????? ???? ??????? ???? ????? ?????? ?????? ?????? 10 ?? ????? ??????? ?? ????? ? ??????? ?? ???? ?? ???? ???????? ???? ?????? ??????? ???? ???? ???
??? ????
???? ??????? ?????? ???? ????? composer
composer require mohamedhelal/arabtemplate
// ????? ???? ?? ??????
$artpl = new \ArTemplate\ArTemplate([
    // ????? ???? ???????
    'template' => realpath('path'),
    // ???? ??????? ???????
    'compiler' => realpath('path'),
    // ????? ?????? ?????
    'caching'         => false,
    // ???? ????? ?????
    'cache'    => realpath('path')
]);
$artpl->display('index');
// or
echo $artpl->fetch('index');
$artpl->assign('obj', 'MyTest' );
$artpl->with('obj', 'MyTest' );
??????? ????????? ???? ??????
{{ $var }}
??????? ????????? ???? ??????
{{ $row.key }}
{{ $row[key] }}
{{ $row[$key.name] }}
??????? ???????? ???? ??????
{{ $obj->property }}
{{ MyClass::$property }}
{{ MyClass::$property.key.name }}
{{ $obj::$property }}
{{ $obj::$property.key.name }}
??????? ?????? ?? ??????
{{ myName($row,'mohamed') }}
{{ $obj->method('name') }}
{{ MyClass::method('name') }}
{{ $obj::method('name') }}
???? ??? ??????
class MyTest
{
    public static $Myname = "Mohamedhelal";
    public static $array  = array('names' => array('first' => 'Mohamed'));
    public static function setMyName($val)
    {
        self::$Myname = $val;
        return new self();
    }
    public function getThis()
    {
        return $this;
    }
    public function getName()
    {
        return self::$Myname;
    }
}
????? ??????
{{ $obj::setMyName('Mohamed')->getThis()->getThis()->getThis()->getThis()->getName() }}
??
{{ MyTest::setMyName('Mohamed')->getThis()->getThis()->getThis()->getThis()->getName() }}
{{ include file="index" }}
{{ include 'index'  }}
{{ include $var  }}
??????? ??????? ?? ?????? ?????????
$artpl->setModuleDir('test', dirname(__FILE__).'/modules/test/views/');
$artpl->setModuleDir('users', dirname(__FILE__).'/modules/users/views/');
??? ???? ?? ???? ???????
$artpl->display('test::index');
$artpl->display('users::index');
?? ??????? ???? ???? ?????? ?? ???????
{{ include file="test::index" }}
{{ include $var }}
????? ????????? ?? ??????
{{ $name = 'mohamed helal' }}
{{ $i = 2 }}
{{ ++$i }}
{{ --$i }}
{{ $i *= 2 }}
{{ assign('my','value') }}
{{ with('my','value') }}
??????? ???? ???? ??? ?? ??????
$artpl->setFunction('ReturnArray', 'MyTest::getMyName');
{{ ReturnArray($rows) }}
{{ $myfunc = ReturnArray($rows) }}
??????? ?????? ???? ?????? ? ?? ??? ???????
{{ |function_name($var,...)| }}
????? ???? ???? ??????
 
        {{ function createMenuMapList($row,$mylinks) }}
        	{{ $row->name }} || {{ $mylinks }}
        {{ /function }}
        
??????? ?????? ???? ?? ??????? ???? ??????
{{ createMenuMapList($row,$mylinks) }}
	
??????? ???? foreach
{{ foreach $rows as $row }}
	{{ $row@key }}
   {{ foreachelse}{
{{ /foreach }}
{{ foreach $rows as $key => $val }}
   {{ foreachelse }}
{{ /foreach }}
??? ????? ??? key => val
{{ foreach $rows as $key => $val }}
   {{ foreachelse }}
{{ /foreach }}
??????? ????? ??????
{{ foreach $rows as $row }}
   {{ $row@index }}
   {{ $row@first }}
   {{ $row@last }}
   {{ $row@first }}
   
   {{ $rows@count() }}
   
   {{ $row@is_div_by(2) }}
   
   {{ $row@is_even_by(2) }}
   
{{ /foreach }}
??????? for
	{{ for $i = 0;$i < 10;$i++ }}
		{{ $i }}
	{{ /for }}
??????? for ??????
	{{ for $i = 0,$j = 0;$i < 10,$j < 10;$i++,$j+=2 }}
		{{ $i }}
		{{ $j }}
	{{ /for }}
??????? break|continue
{{ break|continue }}
??????? ?????? ???? ??????
{{ if $name =="mohamed" }}
// do same thing
{{ elseif $name =="helal" }}
// do same thing
{{ else }}
// do same thing
{{ /if }}
??????? ?????? ???????
{{ $var == 'mohamed'?true:false }}
??? ?????????
{{ $var ."MohamedHelal" }}
?????????
{{*
	// ???????  ?? ??? ???????
	{{ $var }}
*}}
??? ????? ??????
parent.tpl
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{ block 'header' }}My Default Page  Title {{ /block }}</title>
</head>
<body>
	{{ block 'body' }}
		My Default Page  Content
	{{ /block }}
</body>
</html>
son.tpl
{{ extends file="parent" }}
{{ extends "parent" }}
{{ extends $layout }}
{{ block "header" }}
	My Extend Page Header
{{ /block }}
{{ block "body" }}
	My Extend Page Content
{{ /block }}
??????
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>
	My Extend Page Header
</title>
</head>
<body>
	
	My Extend Page Content
</body>
</html>
|  Files (26) | 
| File | Role | Description | ||
|---|---|---|---|---|
|  ArTemplate (8 files, 1 directory) | ||||
|  caches (2 files) | ||||
|  compilers (4 files) | ||||
|  templates (7 files) | ||||
|    composer.json | Data | Auxiliary data | ||
|    index.php | Example | index page | ||
|    README.md | Doc. | Examples | ||
|  Files (26) | / | ArTemplate | 
| File | Role | Description | ||
|---|---|---|---|---|
|  plugins (2 files) | ||||
|  ArTemplate.php | Class | Class source | ||
|  BaseTemplate.php | Class | Class source | ||
|  DataTemplate.php | Class | Class source | ||
|  FileTemplate.php | Class | Class source | ||
|  TemplateCache.php | Class | Class source | ||
|  TemplateCompiler.php | Class | Class source | ||
|  TemplateException.php | Class | Class source | ||
|  Variables.php | Class | Class source | ||
|  Files (26) | / | ArTemplate | / | plugins | 
| File | Role | Description | 
|---|---|---|
|    function.myname.php | Aux. | Auxiliary script | 
|    functions.php | Aux. | Auxiliary script | 
|  Files (26) | / | caches | 
| File | Role | Description | 
|---|---|---|
|    83d9f69d185c7f7b0f...ache.layout-tpl.php | Aux. | Auxiliary script | 
|    93fb097ab082b4618a...cache.index-tpl.php | Aux. | Auxiliary script | 
|  Files (26) | / | compilers | 
| File | Role | Description | 
|---|---|---|
|    83d9f69d185c7f7b0f...file.layout-tpl.php | Example | Example script | 
|    93fb097ab082b4618a....file.index-tpl.php | Example | Example script | 
|    ad76e1deca5c45add0...ile.layout3-tpl.php | Example | Example script | 
|    eb38662a4a3d7ce50e...ile.layout2-tpl.php | Example | Example script | 
|  Files (26) | / | templates | 
| File | Role | Description | 
|---|---|---|
|    footer.tpl | Data | tpl | 
|    header.tpl | Data | tpl | 
|    index.tpl | Data | tpl | 
|    layout.tpl | Data | Auxiliary data | 
|    layout2.tpl | Data | Auxiliary data | 
|    layout3.tpl | Data | Auxiliary data | 
|    main.tpl | Data | Auxiliary data | 
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. | 
|  Install with Composer | 
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% | 
 | 
 |