15

شرح استخدام smarty : الدرس الاول

السلام عليكم

اليوم الدرس الاول في شرح smarty

الدرس يتطلب خبرة متوسطة في php

ما هي smarty

هي نظام قوالب بلغة php يستخدم لفصل البرمجة عن التصميم

للمزيد من المعلومات من ويكيبديا

http://ar.wikipedia.org/wik...

اهلا بالعالم

الاول ستحتاج الي تحميل سمارتي من

http://www.smarty.net/download

بعدها انشي ملف باسم hello.tpl او اي اسم

وضع به هذا الكود

<html>
   <head>
          <title>{$title}</title>
   </head>
<body>
          <b>{$text}</b>
</body>
</html>

الان كود php

<?php
    include("smarty/Smarty.class.php"); // الاتصال بالملف Smarty.class.php
    define("SMARTY_DIR","/smarty/"); // هنا ضه الملف الموجود به smarty لتجنب بعض المشاكل 
    $smarty = new Smarty; // استخدام smarty
    $smarty->assign("title","اهلا بالعالم"); // تعريف المتغير title
    $smarty->assign("text","اهلا بالعالم"); // تعريف المتغير text
    $smarty->display("hello.tpl"); // الاتصال بالملف hello.tpl
?>

المصفوفات في smarty

مثال علي الاستخدام

ملف hello-array.tpl

<html>
    <head>
        <title>{$title}</title>
    </head>
    <body>
        <b>{$text.first}</b><br>
        <b>{$text.second}</b><br>
        <b>{$text.third}</b><br>
    </body>
</html>

ملف php

<?php
    include("smarty/Smarty.class.php"); // الاتصال بالملف Smarty.class.php
    define("SMARTY_DIR","/smarty/"); // هنا ضه الملف الموجود به smarty لتجنب بعض المشاكل 
    $smarty = new Smarty; // استخدام smarty
    $smarty->assign("title","اهلا بالعالم"); // تعريف المتغير title
    $text = array("first" => "نص 1" , "second" => "نص 2" , "third" => "نص 3");// المصفوفة
    $smarty->assign("text",$text); // تعريف المتغير text
    $smarty->display("hello.tpl"); // الاتصال بالملف hello.tpl
?>

اذ كان هناك مشكلة في الدرس يرجي اطلاعي عليها

وان شاء الله في الدرس الثاني ساشرح استخدام if وبعض دوال smarty


smarty يعتبر ثقيل

هناك نظام قوالب أسرع منه

بعض الفريم ورك أصبحت تدعم نظام القوالب

انا من مؤيدين سمارتي بقوة لانني اعمل عليها منذ سنوات هذا اولا وثانيا لانها تختلف عن الفريم ورك في انها تبقيني بغنى عن تعقيدات واضافات الفريم ورك التي قد لا احتاجها فهي تمنحني فقط نظام للقوالب وتسمح لي بتخيل الباقي.

لقد قرات عن نظام قوالب اخر قبل فترة قيل انه اسرع من سمارتي وهو (

) ولكن للاسف لم يسبق لي تجربته او استخدامه ومعرفة هل فعلا هو اسرع او لا وهل يمكن ان يعطينا ما تعطينا اياه سمارتي.