كائن القوالب MyTemplate Engine 1.3.1 Alpha للمناقشة

مدرج تحت قسم: أدوات
29 أكتوبر 2007

أود أن أعرض عليكم كائن القوالب MyTemplate Engine في إصداره الجديد 1.3.1 بتغيير جذري في الدالة assign، حيت أصبحث غير محددة.

مثال في الإصدارات الاولى


$Temp1 = $BT->disply("index_body.html");
$array = array(
title => "Bruce php Developer",
desc => "My Template Engine & php Class and Function"
);

$BT->assign($array);
$BT->show();

أما حالياً فأصبحث

$Temp1 = $BT->disply("index_body.html");
$Mytemp->assign(array(
title => "Bruce php Developer",
desc => "My Template Engene & php Class and Function"

);
$BT->show();


طبعا بهذة الطريقة تخلصنا من التحديد

$BT->assign($array);

حيث كان مختص بمصفوفة واحدة ولايمكن إضافة أكثر من مصفوفة

وبالنسبة لملف المحرك 1.3.1 Alpha فهذا:

page = $page;
if(!file_exists("$this->Tempdir$this->page")){
echo "ERROR : The $this->page Template Not Found";
}else{
include("$this->Tempdir$this->page");
}
$this->pageTemp = ob_get_clean();
return $this->pageTemp;
}

function assign($vars = array()){
foreach ($vars as $key => $value) {
$this->pageTemp = ereg_replace('{'.$key.'}',$value,$this->pageTemp);
}
}

function show(){
if (empty($this->cachedir)) {
$this->cachedir = $_ENV["TEMP"];
}
if (!is_writeable( $this->cachedir ) ) {
echo "ERROR : could not be write in cach folder";
}
$npage = 'MyTempl_' . $this->page . ".php";
$tpage = @filemtime("$this->cachedir/$npage");
if($tpage >= ($tpage+(3600*$this->cachetime))){
unlink("$this->cachedir/$npage");
}
if(file_exists("$this->cachedir/$npage")){
include("$this->cachedir/$npage");
}else{
$filenum = @fopen("$this->cachedir/$npage", 'w');
flock($filenum, LOCK_EX);
@fwrite($filenum, $this->pageTemp);
fclose($filenum);
include("$this->cachedir/$npage");
}
}

}
?>

لكل من يملك افكار للرقي بالقالب، أتمنى منه أن يضعها وذلك لمناقشتها واختيار الأفضل

سلامات

للكاتب Bruce

  • Share/Bookmark

التعليقات (4) على ”كائن القوالب MyTemplate Engine 1.3.1 Alpha للمناقشة“

  1. mobde3

    أشكرك أخي Bruce ، بصراحة أستخدم هذا القالب حالياً ، وفر علي الكثير وخاصة أنه أسهل محرك قوالب حالياً (وجهة نظري) ..

    وخاصة أنني كنت سأضع دروس خاصة بهذا القالب( لمن يريد أن يبدأ ببرمجة برامج ضخمة ) فقمت ببرمجة إدارة محتوى (مدونة ، برنامج لإدارة صفحات الموقع) بإسخدام هذا القالب ..

    يفضل وضع الأوامر كلها على شكل دوال مثلاً :

    function EditPage () {
    $BT->disply(”index_body.html”);
    $result=mysql_query(”SELECT * FROM pages WHERE page_id = ‘{$_GET['id']}’”);
    $row=mysql_fetch_array($result);

    $array = array (
    page_id => $row['page_id'] ,
    page_title => $row['page_title'] ,
    page_content => $row['page_content']
    );
    $BT->assign($array);
    $BT->show();

    }

    إلخ ، .. ، من الترتيبات .. كما أنني قمت بتجربة تقنية الأجاكس عليها ..

    بارك الله فيك أخي الكريم :)

  2. درس جميل ووافي ورائع

    بالتوفيق لكم

  3. السلام عليكم
    mobde3 حقيقة اسعد كثيرا حين اجد شخص يستخدم الكلاس وان شاء الله يفيدك بالمطلوب
    ملاحظة/ الاصدار الجديد 1.3.1 المعتمد يدعم
    1. If الشرطية
    2. php داخل قالب
    3. التكرار Loop
    4. تضمين ملف قالب في قالب
    5. تضمين ملف برمجي

    تم الانتهاء منهن باذن الله وتم التغير في الهيكلية كلها حيث يختلف عن 1.3.1 Alpha
    طبعا لاانسي شكر صديقي Saanina فقد قام بالمساعدة الكاملة لي
    ——————————-
    LiMoO
    شكرا للمرور

    سلامات

  4. saloh

    مشكور على القالب
    تم التجربة

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة