class Controller {
protected $_controller;
protected $_action;
protected $_template;
public $doNotRenderHeader;
public $render;
function __construct($controller, $action) {
$this->_controller = ucfirst($controller);
$this->_action = $action;
$model = ucfirst($controller);/* Conecting the model class*/
$this->doNotRenderHeader = 0;
$this->render = 1;
$modelName = ucfirst($model).'Model';
new $modelName;
$this->_template = new Template($controller,$action);
}
function set($name,$value) {
$this->_template->set($name,$value);
}
function __destruct() {
if ($this->render) {
$this->_template->render($this->doNotRenderHeader);
}
}
}
Я новичок в работе с классами, я не так много понимаю, я хочу реализовать и изучить работу с классами на этом примере структуры mvc, но у меня есть проблема с набором функций. Сохранение в массиве некоторой информации, а затем отправка внутри шаблона класса, когда я использую внутреннюю функцию __construct, которую я отправляю с функцией set (), которая выполняет функцию сохранения данных в объект $ this_template, все работает нормально, но когда я создание новой функции в этом или расширенном классе не работает ...
Вопрос в том, как сделать, когда я создаю функцию в классе Controller, чтобы установить в массиве нужное мне значение, чтобы работать с ними внутри шаблона класса :)
большое спасибо за помощь .. и извините за мой английский
class Template {
protected $variables = array();
function set($name,$value) {
$this->variables[$name] = $value;
}
function render(){
extract($this->variables); print_r($this->variables);
}
}
Мне нужно с функцией set () из Class Controller экспортировать данные внутри класса Template, и почему при создании функции внутри Class Controller
пример:
function functionName() {
$data=array('a','b');
$this->set('data',$data);
}
и внутри class Template
, я ставлю print_r($this->variables);
, а массив пуст