Я делаю функцию, которая будет вставлять простой HTML в мое представление.Я уже делал это несколько раз без проблем, но на этот раз я собираюсь использовать переменные, которые установлены в Controller-> извлеченный для представления.
Теперь я, очевидно, не хочу идтиот моего однострочного ярлыка: <?php echo showStatusMessages(); ?>
, проверив, установлены ли переменные, затем отправьте их как параметры и т. д., поскольку это просто убивает точку вызова функции.
После некоторой попытки и неудачи я 'Мы получили защищенное свойство, которое я хотел бы использовать в своей функции.Любая идея, как я могу найти способ обойти это?
// Outputs success/error messages
function showStatusMessages() {
$variables = array(
'success',
'error'
);
foreach ($variables as $variable) {
// Cannot access protected property CI_Loader::$_ci_cached_vars
if ($variable = $GLOBALS['CI']->load->_ci_cached_vars[$variable]) ${$variable} = $variable;
break;
}
ob_start();
// Success message set
if (isset($success)) :
echo '<div class="message_box success_color">'.$success.'</div>';
endif;
// Error message set
if (isset($error)) :
echo '<div class="message_box error_color">'.$error.'</div>';
endif;
$msg = ob_get_contents();
ob_end_clean();
return $msg;
}