السلام عليكم

أود أن أعرض عليكم كائن القوالب 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");
}
}

}
?>

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

سلامات