2017 © Pedro Peláez
 

library arabtemplate

نظام قوالب arabTemplate للتفريق بين الكود و التصميم

image

mohamedhelal/arabtemplate

نظام قوالب arabTemplate للتفريق بين الكود و التصميم

  • Tuesday, April 11, 2017
  • by mohamedhelal
  • Repository
  • 6 Watchers
  • 9 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 7 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاتة نظام قوالب القالب العربى النسخة 10 تم اعادة برمجتها من الصفر و تطويرها فى ارجو من يقوم بتجربتها بقوم بكتابة الاخطاء التى ظهرة ليه, (*1)


بسم الله, (*2)


اولا التثبيت بواسطة مدير الحزم composer, (*3)


composer require mohamedhelal/arabtemplate

// انشاء نسخة من الكلاس, (*4)

$artpl = new \ArTemplate\ArTemplate([
    // اضافة مجلد القوالب
    'template' => realpath('path'),
    // مجلد الملفات المحولة
    'compiler' => realpath('path'),
    // تفعيل وإلغاء الكاش
    'caching'         => false,
    // مجلد ملفات الكاش
    'cache'    => realpath('path')
]);

استدعاء القوالب, (*5)

$artpl->display('index');

// or, (*6)

echo $artpl->fetch('index');

تمرير المتغيرات للقالب, (*7)

$artpl->assign('obj', 'MyTest' );
$artpl->with('obj', 'MyTest' );

استخدام المتغيرات داخل القالب, (*8)

{{ $var }}

استخدام المصفوفات داخل القالب, (*9)

{{ $row.key }}
{{ $row[key] }}
{{ $row[$key.name] }}

استخدام الكلاسات داخل القالب, (*10)

{{ $obj->property }}
{{ MyClass::$property }}
{{ MyClass::$property.key.name }}
{{ $obj::$property }}
{{ $obj::$property.key.name }}

استخدام الدوال فى القالب, (*11)

{{ myName($row,'mohamed') }}
{{ $obj->method('name') }}
{{ MyClass::method('name') }}
{{ $obj::method('name') }}

استخدام الكلاس داخل القالب, (*12)

مثال على الكلاس, (*13)

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;
    }
}

وداخل القالب, (*14)

{{ $obj::setMyName('Mohamed')->getThis()->getThis()->getThis()->getThis()->getName() }}

او, (*15)

{{ MyTest::setMyName('Mohamed')->getThis()->getThis()->getThis()->getThis()->getName() }}


استدعاء قوالب داخل القالب, (*16)

{{ include file="index" }}


{{ include 'index'  }}
{{ include $var  }}

استدعاء القوالب من مجلدات الموديلات, (*17)

$artpl->setModuleDir('test', dirname(__FILE__).'/modules/test/views/');
$artpl->setModuleDir('users', dirname(__FILE__).'/modules/users/views/');

عرض قالب من مجلد الموديل, (*18)

$artpl->display('test::index');
$artpl->display('users::index');

او استدعاء قالب داخل القالب من الموديل, (*19)


{{ include file="test::index" }} {{ include $var }}

انشاء المتغيرات فى القالب, (*20)

{{ $name = 'mohamed helal' }}
{{ $i = 2 }}
{{ ++$i }}
{{ --$i }}
{{ $i *= 2 }}
{{ assign('my','value') }}
{{ with('my','value') }}

استخدام داله باسم اخر فى القالب, (*21)


$artpl->setFunction('ReturnArray', 'MyTest::getMyName'); {{ ReturnArray($rows) }} {{ $myfunc = ReturnArray($rows) }}

استخدام الداله داخل القالب و مع عدم طباعتها, (*22)


{{ |function_name($var,...)| }}

انشاء داله داخل القالب, (*23)



{{ function createMenuMapList($row,$mylinks) }} {{ $row->name }} || {{ $mylinks }} {{ /function }}

استدعاء الداله التى تم انشائها داخل القالب, (*24)

{{ createMenuMapList($row,$mylinks) }}

استخدام الوب foreach, (*25)

{{ foreach $rows as $row }}
    {{ $row@key }}
   {{ foreachelse}{
{{ /foreach }}

{{ foreach $rows as $key => $val }}
   {{ foreachelse }}
{{ /foreach }}

عمل تكرار بال key => val, (*26)


{{ foreach $rows as $key => $val }} {{ foreachelse }} {{ /foreach }}

استخدام متغير الكائن, (*27)


{{ 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, (*28)

    {{ for $i = 0;$i < 10;$i++ }}
        {{ $i }}
    {{ /for }}

استخدام for متعدده, (*29)

    {{ for $i = 0,$j = 0;$i < 10,$j < 10;$i++,$j+=2 }}
        {{ $i }}
        {{ $j }}
    {{ /for }}

استخدام break|continue, (*30)

{{ break|continue }}

استخدام الشروط داخل القالب, (*31)

{{ if $name =="mohamed" }}
// do same thing
{{ elseif $name =="helal" }}
// do same thing
{{ else }}
// do same thing
{{ /if }}

استخدام الشروط القصيرة, (*32)

{{ $var == 'mohamed'?true:false }}

دمج المتغيرات, (*33)

{{ $var ."MohamedHelal" }}

التعليقات, (*34)

{{*
    // تعليقات  لن يتم معلجنها
    {{ $var }}
*}}

عمل وراثة للقالب, (*35)

parent.tpl, (*36)

<!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, (*37)


{{ extends file="parent" }} {{ extends "parent" }} {{ extends $layout }} {{ block "header" }} My Extend Page Header {{ /block }} {{ block "body" }} My Extend Page Content {{ /block }}

الناتج, (*38)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>
    My Extend Page Header
</title>
</head>
<body>

    My Extend Page Content

</body>
</html>

The Versions

11/04 2017

dev-master

9999999-dev https://github.com/mohamedhelal/arabTemplate

نظام قوالب arabTemplate للتفريق بين الكود و التصميم

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

arabtemplate artemplate

05/01 2017

1.0.0

1.0.0.0 https://github.com/mohamedhelal/arabTemplate

نظام قوالب arabTemplate للتفريق بين الكود و التصميم

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

arabtemplate artemplate