OpenCart 🇺🇦

Класс Controller { ... }

Название свойства Описание
Controller::$registry protected Registry $registry
Переменная содержит указатель на объект класса Registry. (см. статью про работу реестра в OpenCart)
Controller::$id protected mixed $id
Controller::$layout protected mixed $layout
Controller::$template protected mixed $template
Controller::$children protected mixed $children = array();
Controller::$data protected array $data = array();
Содержит в себе данные, которые будут переданы в представление и распакованы с помощью php-функции extract()
Controller::$output protected mixed $output
Тип Возвр. Описание
public mixed __construct ( $registry )
Исходный код метода:
$this->registry = $registry;
public mixed __get ( $key )
Исходный код метода:
return $this->registry->get($key);
public mixed __set ( $key, $value )
Исходный код метода:
$this->registry->set($key, $value);
protected mixed forward ( $route, $args = array() )
Исходный код метода:
return new Action($route, $args);
protected void redirect ( string $url, int $status = 302 )
Исходный код метода:
header('Status: ' . $status);
header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url));
exit();				
protected mixed getChild ( string $child, array $args = array() )
Исходный код метода:
$action = new Action($child, $args);

if (file_exists($action->getFile())) {
	require_once($action->getFile());

	$class = $action->getClass();

	$controller = new $class($this->registry);

	$controller->{$action->getMethod()}($action->getArgs());

	return $controller->output;
} else {
	trigger_error('Error: Could not load controller ' . $child . '!');
	exit();					
}		
protected bool hasAction ( string $child, array $args = array() )
Исходный код метода:
$action = new Action($child, $args);

if (file_exists($action->getFile())) {
	require_once($action->getFile());

	$class = $action->getClass();

	$controller = new $class($this->registry);

	if(method_exists($controller, $action->getMethod())){
		return true;
	}else{
		return false;
	}
} else {
	return false;				
}		
protected string render ( )
Исходный код метода:
foreach ($this->children as $child) {
	$this->data[basename($child)] = $this->getChild($child);
}

if (file_exists(DIR_TEMPLATE . $this->template)) {
	extract($this->data);

	ob_start();

	require(DIR_TEMPLATE . $this->template);

	$this->output = ob_get_contents();

	ob_end_clean();

	return $this->output;
} else {
	trigger_error('Error: Could not load template ' . DIR_TEMPLATE . $this->template . '!');
	exit();				
}

Связанные классы:

Название класса Роль
Нет связанных классов

Комментарии