المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : نظام قوالب بسيط للمبتدئين لاستبدال المتغيرات ، انشئ محركك الخاص



walid_8281500
03-23-2009, 04:12 AM
كلاس : نظام قوالب بسيط للمبتدئين لاستبدال المتغيرات
* كلاس بسيط جدا لكل مبتدئ و يريد انشاء نظام القوالب الخاص به
* و هو يشمل نظام استبدال للمتغيرات من ملفات القالب
و يمكن لاى مبرمج مبتدئ الاعتماد عليه لبناء نظام القوالب الخاص به فى برمجياته

اولا الكلاس :
template_class.php



<?php

/**
*
* كلاس بسيط جدا لكل مبتدئ و يريد انشاء نظام القوالب الخاص به
* و هو يشمل نظام استبدال للمتغيرات من ملفات القالب
*
* @المبرمج عبدالله محمد ضياء الدين
* @الاصدارة 0,01 بيتا
* @الترخيص مجانى
* @القسم نظام قوالب بسيط
* @أنشئ 16/5/2008 يوم السبت
**/


class template
{
/**
* الفولدر الذى بداخله ملفات القالب التى تتعامل معها
*
* @vars string
* @access private
**/
var $temp_dir = 'templates/';


/**
* امتداد ملفات القوالب
*
* @vars string
* @access private
**/
var $file_ext = '.tpl';


/**
* سوف نخزن فى هذا المتغير محتويات الملف القالب
*
* @vars string
* @access private
**/
var $buffer;


///////////////////////////////////////////////////////////////////
/**
* دالة جلب محتويات الملف و ادخالها داخل المتغير buffer من الكلاس
*
* @access private
**/
function buff_template($file)
{
// سحب محتويات الملف على الهيئة الفولدر ثم اسم الملف ثم امتداد الملف
$this->buffer = file_get_contents($this->temp_dir . $file . $this->file_ext);
return $this->buffer;
}

///////////////////////////////////////////////////////////////////
/**
* دالة استبدال المتغيرات من داخل ملفات القوالب
*
* @access private
**/
function vars_replace($contents, $array)
{
// البحث داخل ملف القالب عن {} و تخزينها بالمصفوفة matches
$search = preg_match_all('/{.*?}/', $contents, $matches);
//حذف {} من عناصر هذه المصفوفة بعدد النواتج
for ($i = 0; $i < $search; $i++)
{
$matches[0][$i] = str_replace(array('{', '}'), null, $matches[0][$i]);
}
//استبدال المتغيرات من داخل القالب بما يقابلها من المصفوفة $array
foreach ($matches[0] as $varv)
{
$contents = str_replace('{' . $varv . '}', $array[$varv], $contents);
}
return $contents;
}
///////////////////////////////////////////////////////////////////


}


?>

طريقة الاستخدام :



<?php
//تضمين الكلاس
include ('template_class.php');
$tpl = new template;
// جلب محتويات القالب المسمى index
$page = $tpl -> buff_template('index');
// المصفوفة التى تعرف قيم المتغيرات
$array = array('username' => 'abdalla', 'message' => 'رسالة');
// استدال المتغيرات بقيمها ثم طباعة القالب
echo $tpl->vars_replace($page,$array);

?>