Bazen programlama yapmak istediğiniz ne insan dilinde açıklamak zor, ama çalışacağız ...
Bana açıklayabilir misiniz, nasıl ben şu mantığı uygulayabilirsiniz. Biz bir şablon sınıfı olduğunu varsayalım:
$obj1=new Tmpl($somevar1, $somevar2, ...);
//we then add a new file to template
//as we don't have any files yet, new object won't created
$obj1->AddTmpl('file1.tmpl');
//we add a second file to template,
//it will be independent template
//but all properties from $obj1 must be available
$obj2=$obj1->AddTmpl('file2.tmpl');
$obj1->printTmplFile(); //should output file1.tmpl
$obj2->printTmplFile(); //should output file2.tmpl
$obj2->printInitialVars();
//will print $somevar1, $somevar2 constructed for $obj1;
//$obj1 of course must have these variables available also
Yani, bunun amacı bir şablonun her yeni dosya için yeni bir nesne oluşturma bulunmaktadır. Her yeni nesne eski nesne için kurulmuş tüm özellikleri seti olmalıdır. Yani, bu durumda, örneğin, biz aynı argümanlarla her zaman bir kurucu çağrı olmaz. Ayrıca sadece $ obj1 kendisinin bir kopyasını oluşturabilirsiniz. Bu yöntem AddTmpl ilk çağrı ise, o zaman biz yeni bir kopyasını oluşturmak değil.