Open top menu
الجمعة، 15 فبراير 2013

تعريف Smary
سمارتي هو نظام قوالب مخصص للـ PHP يسهل الفصل بين الاكواد البرمجية والتصميم بغرض تسهيل العمل بين المبرمج والمصمم فلكل منهما دوره وعمله الخاص ناخذ مثالا بسيطا لنفهم الفكرة اوضح نفترض ان لديك صفحة ويب اخبارية تتضمن عنوان الخبر مقدمة عن الخبر ومحتوى الخبر كل هذه عناصر يقوم المبرمج بانشائها بغية ايصال الخبر بطريقة يفهمها الجميعة وبشكل واظح , بالطريقة الكلاسيكية المبرمج يضع اكواد التصميم والبرمجة مدموجة مع بعضها صحيح // لاحظ معي ان التصميم متعلق بكود البرمجة //

طيب نفرض فيوم ما المبرمج اراد تغيير محتوى لمحة عن الخبر فماذا سيحدث سيكون المصمم مجبرا على اعاده تصميمه لان الكود البرمجي تغير نفس الشسء للمبرمج فاذا اراد المصمم تغيير اي شيء لابد من تغيير الكود البرمجي هنا نلاحظ ان عمل المبرمج والمصمم متعلقان ببعضهما البعض والمفروض ان ينفصلا انفصالا تاما لذالك فنظام القوالب سمارتي يسمح لك بفصل الكود البرمجي عن التصميم (اكواد html ….)  لاحظ الاستايلات في منتدياتVB لو ان الكود البرمجي متعلق بالتصميم ما شاهدنا هذا الكم الهائل من الاستايلات  VB حسب علمي يستعمل نظام قوالب خاص به ما علينا ادرجته هنا للفهم فقط سنرى ذالك لاحقا اذا خلاصة قولنا في حال استعمالنا لنظام القوالب لن نكون مجبرين على تغيير التصميم في حال تغير الكود او العكس  

شرح تنصيـب Smary

متطلبات التشغيل
لكي يعمل نظام سمارتي لابد ان يتفر السيرفر على اصدار PHP 4.0.6 فما فوق
السيرفرات الان كلها تتوفر على الاصدار الخامس
اول شيء نحمل اخر نسخة من النظام من هنا
ستجدون ملفات كثيرة ما علينا

يهمنا مجلد libs 
نضع مجلد libs في مسار السكربت
نعمل مجلدين واحد باسم template وهوالمجلد الدي سنضع فيه ملفات التصميم

والاخر باسم compile ملاحظة يجب اعطاء مجلد compile تصاريح الكتابة 777
الان سنعمل ملف الكونفيق للسمارتي
افتح المحرر وادرج هذا الكود
الكود الاول للي يشتغلون على موقع -سيرفر –  

ننشئ ملف باسم setup.smarty.php ونضع بداخله الكود التالي
  <?php

   $fixpath  =  dirname ( __FILE__ );
    define  ( “SMARTY_DIR“ , “/home/user/public_html/اسم السكربت/libs/“ );
   require_once ( SMARTY_DIR . “Smarty.class.php“ );
    $smarty  = new zizwar   ;
    $zizwar  -> compile_dir =  “$fixpath/compile/” ;
    $zizwar  -> template_dir =  “$fixpath/template/” ;
   ?>
نشرح قليلا
في الاول اخذنا الدالة dirname مكان السكربت وحطيناه في متغير
بعدها حطينا مكان المكتبة libs
غير user الى اسم مستخدم الاف تي بي لموقعك
غير غير اسم السكربت الى اسم السكربت  /المهم ان يكون مسار السكربت صحيح
قمنا بتعريف كائن جديد ان صح التعبير من الكلاس سمارتي
لاظافة لمسة خاصة بنا على السكربت انا سميته Zizwar طر
   $Smarty  = new  zizwar  ;
سوف نستعمل دائما $zizwar .
لاحظ ان S في كلمة Smarty بحرف كبير مهم جدا
ثم نضعفي  المكانالدي توجد فيه كل من ملف التمبليت والكومبايل 
الكود الثاني الاول للي يشتغلون على سيرفر محلي

ننشئ ملف باسم setup.smarty.php ونضع بداخله الكود التالي

  <?php

   $fixpath 
dirname ( __FILE__ );
   
define  ( SMARTY_DIR , “E:\AppServ\www\اسم السكربت\libs\”);
   require_once (SMARTY_DIR.”
Smarty .class. php “);
   $Smarty = new zizwar ; 

    $zizwar ->compile_dir= 
$fixpath / compile / “; 
    $zizwar ->template_dir= ”
$fixpath / template / “;

  ?>
نشرح قليلا
 نفس الملف الاول لي بالنسبة للمواقع الفرق في المجلد الخاص  بالسكربت فقط نغيره حسب مكان السيرفر فقط 
 اكملنا العملية الاولى نقوم بحفظ الملف
سنقوم بعمل تطبيق صغير

افتح ملف جديد باسم header.html

<! DOCTYPE html  PUBLIC  “-//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221; >
< html xmlns = “http://www.w3.org/1999/xhtml&#8221; >
< html >
< head >
< meta content = “text/html; charset=windows-1256″  http – equiv = “Content-Type”  />
< title > { $title } </ title >
</ head >
< body >
< h3 align = “center” >جميع الحقوق محفوضة لجنيكس </ h3 > <br>
</ body >
</ html


لاحظ انه في الوسم title وضعت متغير {$title} وهذي هي طريقة طباعة المتغيرات في السمارتي
انشئ ملف اخر باسم footer.html
ضع بداخله الكود التاالي


< html >
< meta content = “text/html; charset=windows-1256″  http – equiv = “Content-Type” />
< body
>
< h3 align = “center” > كل الحقوق محفوظة لزيزوار ههه
</ h3 >
</ body >
</ html
> 

كود HTML صافي بدون اي تعقيد لا يحتاج لشرح

ناتي للاهم ملف index.php
ضع بداخله الكود التاالي


<?
include_once( “setup.smarty.php” );
$zizwar -> assign  ( “title” ,  “برنامجي الاول مع سمارتي” );
$zizwar-> display ( “header.html” );
$zizwar-> display ( “footer.html” ); 
?>

الشرح

اولا استدعينا الملف setup.smarty.php اول ملف قمنا بانشائه 

ثاني شيء باستعمال احدى دوال السمارتي قمنا بانشاء متغير اسمه title اعطيناه القيمة برنامجي الاول مع السمارتي ,,,

الان من اين ياخذ المتغير $title فالملف header.html

السطر الثالث والرابع قمنا باستدعاء القالبين headrt.html و footer.html باستعمال الدالة display
الان ارفع الملفين headrt.html و footer.html الى مجلد template

ارفع ملف setup.smarty.php الى المجلد الرئيسي للسكربت

ارفع مجلد libs الى المجلد الرئيسي للسكربت

ارفع ملف index.php الى المجلد الرئيسي للسكربت
الان نستدعي ملف الاندكس ونشوف النتيجة

غير domain الى اسم موقعك
غير scriptname الى اسم السكربت الخاص بك

في رعاية الله
Amine Blog
Abderrahim S.E

مبرمج و مدون مغربي في مجال التقنيات الحديثة وكل ما يخص الحماية و الهكر الأخلاقي

0 تعليقات

للتواصـــــــل