تعريف Smary
سمارتي هو نظام قوالب مخصص للـ PHP يسهل الفصل بين الاكواد البرمجية
والتصميم بغرض تسهيل العمل بين المبرمج والمصمم فلكل منهما دوره وعمله
الخاص ناخذ مثالا بسيطا لنفهم الفكرة اوضح نفترض ان لديك صفحة ويب اخبارية
تتضمن عنوان الخبر مقدمة عن الخبر ومحتوى الخبر كل هذه عناصر يقوم المبرمج
بانشائها بغية ايصال الخبر بطريقة يفهمها الجميعة وبشكل واظح , بالطريقة
الكلاسيكية المبرمج يضع اكواد التصميم والبرمجة مدموجة مع بعضها صحيح //
لاحظ معي ان التصميم متعلق بكود البرمجة //
طيب نفرض فيوم ما المبرمج اراد تغيير محتوى لمحة عن الخبر فماذا سيحدث سيكون المصمم مجبرا على اعاده تصميمه لان الكود البرمجي تغير نفس الشسء للمبرمج فاذا اراد المصمم تغيير اي شيء لابد من تغيير الكود البرمجي هنا نلاحظ ان عمل المبرمج والمصمم متعلقان ببعضهما البعض والمفروض ان ينفصلا انفصالا تاما لذالك فنظام القوالب سمارتي يسمح لك بفصل الكود البرمجي عن التصميم (اكواد html ….) لاحظ الاستايلات في منتدياتVB لو ان الكود البرمجي متعلق بالتصميم ما شاهدنا هذا الكم الهائل من الاستايلات VB حسب علمي يستعمل نظام قوالب خاص به ما علينا ادرجته هنا للفهم فقط سنرى ذالك لاحقا اذا خلاصة قولنا في حال استعمالنا لنظام القوالب لن نكون مجبرين على تغيير التصميم في حال تغير الكود او العكس
شرح تنصيـب Smary
متطلبات التشغيل
لكي يعمل نظام سمارتي لابد ان يتفر السيرفر على اصدار PHP 4.0.6 فما فوق
السيرفرات الان كلها تتوفر على الاصدار الخامس
اول شيء نحمل اخر نسخة من النظام من هنا
ستجدون ملفات كثيرة ما علينا
يهمنا مجلد libs
نضع مجلد libs في مسار السكربت
نعمل مجلدين واحد باسم template وهوالمجلد الدي سنضع فيه ملفات التصميم
والاخر باسم compile ملاحظة يجب اعطاء مجلد compile تصاريح الكتابة 777
والاخر باسم 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 طر
بعدها حطينا مكان المكتبة libs
غير user الى اسم مستخدم الاف تي بي لموقعك
غير غير اسم السكربت الى اسم السكربت /المهم ان يكون مسار السكربت صحيح
قمنا بتعريف كائن جديد ان صح التعبير من الكلاس سمارتي
لاظافة لمسة خاصة بنا على السكربت انا سميته Zizwar طر
$Smarty = new zizwar ;
سوف نستعمل دائما $zizwar .
لاحظ ان S في كلمة Smarty بحرف كبير مهم جدا
ثم نضعفي المكانالدي توجد فيه كل من ملف التمبليت والكومبايل
لاحظ ان 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” >
< html xmlns = “http://www.w3.org/1999/xhtml” >
< 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 الى اسم السكربت الخاص بك
غير scriptname الى اسم السكربت الخاص بك
في رعاية الله
0 تعليقات