CrashX
В прошлом XSiteCMS
- Регистрация
- 6 Июн 2008
- Сообщения
- 681
- Реакции
- 114
ну я делал так,А вот тут по подробнее пожалст)) Как очистить?))
unset();да хорошо но из глобального массива данные не всегда удаляются
значит нада делать что то подобное
PHP:
// присваиваем значению null
$GLOBALS['MyVar']=null;
// пытаемся ее удалить из глобально массива
unset($GLOBALS['MyVar']);
// пытаемся удалить локальную
unset($MyVar);
}
в каждой функции лучше делай unset() переменных которы тебе больше не понадобятся, хотя как говорят что PHP сам их уничтожает, но когда запускаешь отдалчит почему то их видно, и они не уничтожаются (( так что лучше самому) как например под Win платформами не всегда корректно работает trim();
а сейчас у меня структура кода
PHP:
/**
* Класс Шаблонов
*/
class Template
{
var $version=0.02;
var $template = null;
var $module = null;
var $panel = null;
var $block = null;
var $backup = array();
var $data = array();
var $result = array();
function set($key,$value)
{
}
function load($tpl=false,$mod=false,$mode='template')
{
global $engine;
}
function clear($tpl=false,$mode='')
{
switch($mode):
case "panel":
$this->panel=null;
break;
case "block":
$this->block=null;
break;
case "module":
$this->module=null;
$this->data=null;
$this->data=array();
break;
case "template":
$this->template=null;
$this->data=null;
$this->data=array();
$this->unload();
break;
endswitch;
if($tpl):
if(isset($this->result[$tpl])): $this->result[$tpl]=null; unset($this->result[$tpl]); endif;
endif;
}
function unload()
{
$this->template = null;
$this->module = null;
$this->panel = null;
$this->block = null;
$this->backup = null;
$this->data = null;
$this->data = array();
$this->result = null;
$this->result = array();
}
function backup($key='backup')
{
$this->backup[$key]['data']=$this->data;
$this->backup[$key]['result']=$this->result;
$this->data=null;
$this->data=array();
$this->result=null;
$this->result=array();
}
function restore($key='backup')
{
$this->data=$this->backup[$key]['data'];
$this->result=$this->backup[$key]['result'];
$this->backup[$key]=null;
$this->backup[$key]=array();
unset($this->backup[$key]);
}
function compile($tpl=false,$mode='template')
{
}
класс модуля
var $fields=array(
'id'=>false, //идентификатор
'short_name'=>false, //группа
'full_name'=>false, //организация
'tip'=>null, //логин
'otdelen'=>null, //пароль
'plat_name'=>null, //email
'sthet_id'=>null, //имя
'inn'=>null, //фамилия
'kpp'=>null, //откуда
);
global $engine;
$this->header();
$engine->template->set('{action}', XPAGE."?x=".$this->mod);
$engine->template->set('{task}', 'update');
foreach($this->fields as $column=>$value):
$engine->template->set('{'.$column.'}', $value);
endforeach;
$engine->template->load('form',$this->mod,'module');
$engine->template->compile('org_form','module');
echo $engine->template->result['org_form'];
$engine->template->clear('org_form','module');
$this->footer();