ogursan
Новичок
Всем доброго времени суток. Ситуация такая:
есть класс главный класс Sys. У него имеется метод init, который подгружает вложенный класс $module.
Во вложенном классе (назовём его Default). Происходит обработка данных, при которой наполняется массив $data['smarty']. Так вот почему-то у меня не получается передать массив $data['smarty'], принадлежащий классу Default в класс Sys.
Схематически код класса Default можно представить так:
По задумке переменная $this->data['smarty']['example'] должна быть передана в Smarty вышестоящим классом. Но я в упор не понимаю, как это правильно написать.
есть класс главный класс Sys. У него имеется метод init, который подгружает вложенный класс $module.
PHP:
class Sys
{
public $data;
public $default_module = "default";
public static $modules;
public $smarty;
function __construct()
{
// Здесь подгружаем внешние классы
// .........
$this->smarty = new Smarty();
}
function init()
{
// Определяем загружаемый модуль
$module = mysql_escape_string($_GET['module']);
// Вставляем модуль
require_once $system_path . $module;
// Передаём данные в Smarty
foreach ($this->data['smarty'] as $name => $value) {
$this->smarty->assign($name, $value);
}
// Отображаем основной шаблон
$this->smarty->display("index.tpl");
}
}
Схематически код класса Default можно представить так:
PHP:
class Default
{
public $data;
function __counstruct() {
// Здесь идут различные запросы к СУБД, их обработка и пр.
$this->data['smarty']['example'] = "example value";
}
}
$obj = new Deafault;