StalkerClasses
Новичок
Добрый день.
Для каждой страницы можно выбрать класс который будет запускаться,
например page->main()
или pageCompany-main()
Насолько правильна моя идея в ниже представленном коде, что расширяя основной класс page, в нем есть вызываемая функция render, в которую можно дописать, что угодно и + еще изменить настройки самого шаблонизатора?
И как лучше делать?
Для каждой страницы можно выбрать класс который будет запускаться,
например page->main()
или pageCompany-main()
Насолько правильна моя идея в ниже представленном коде, что расширяя основной класс page, в нем есть вызываемая функция render, в которую можно дописать, что угодно и + еще изменить настройки самого шаблонизатора?
PHP:
<?php
// обычная страница
class page {
function main($config) {
global $smarty;
$this->smarty = new smarty;
$this->setDefOption();
$this->assignDefaultVarible();
$this->render($config);
$content = $smarty->display( $config['template_file'] );
return $content;
}
// Функция вывода результата
function render($conf){
global $smarty;
}
// Функция определения дефолтовых установок
function setDefOption(){
global $smarty;
$smarty->cache_lifetime = 0;
$smarty->debugging = 0;
$smarty->caching = 0;
$smarty->plugins_dir[] =
/*... и еще ряд настроек */
}
// Производим assign дефолтовых данных всегда
function assignDefVar(){
global $smarty;
$smarty->assign('pageId', /*SELECT ... */);
$smarty->assign('pageTitle', /*SELECT ... */);
$smarty->assign('pageText', /*SELECT ... */);
}
}
// для страницы о компании до извлекаем доп. данные.
class pageCompany extends page {
function render($conf){
global $smarty;
$res = mysql_query("SELECT * FROM persone");
while () {
//
}
$smarty->assign('personeList', $array);
}
}
[/ PHP ]
И как лучше делать?
PHP:
global $smarty;
или
$this->smarty
Последнее редактирование: