Как из одной функции передать значение в другую? Код: getRecords($sql, 3);

$sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' ORDER BY portfolio_id DESC";
$viewportf = $cms_class->getRecords($sql, 150, "portfolio_image");

return array("menu"=>$menu, "viewportf"=>$viewportf);
}
function actionHtml()
{
$cms_class = cms_class::getInstance();
$sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' AND portfolio_theme='".Router::$pageParams["html"]."'";
$records = $cms_class->getRecords($sql, 150, "portfolio_image");
return array("records"=>$records, "menu"=>$menu);
}
}
Нужно передать из первой функции значение переменной $menu во вторую функцию, дабы там ее вернуть в массиве. Как это провернуть? Или же есть иной путь?

21 Авг 2019 в 07:09
196 +1
1
Ответы
1

Чтобы передать значение переменной $menu из одной функции в другую, можно сохранить ее в свойстве класса, доступном для всех методов класса. Например, можно объявить свойство $menu в классе Page_Portfolio и присвоить ему значение в методе actionIndex, а затем использовать это свойство в методе actionHtml.

Пример кода:

class Page_Portfolio extends Page_Basic
{
public $menu; // Объявляем свойство
function actionIndex() {
$cms_class = cms_class::getInstance();
$sql = "SELECT * FROM site_portfoliotheme WHERE portfoliotheme_active='Y'";
$this->menu = $cms_class->getRecords($sql, 3); // Сохраняем значение в свойстве
$sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' ORDER BY portfolio_id DESC";
$viewportf = $cms_class->getRecords($sql, 150, "portfolio_image");
return array("menu"=>$this->menu, "viewportf"=>$viewportf);
}
function actionHtml()
{
$cms_class = cms_class::getInstance();
$sql = "SELECT * FROM site_portfolio WHERE portfolio_active='Y' AND portfolio_theme='".Router::$pageParams["html"]."'";
$records = $cms_class->getRecords($sql, 150, "portfolio_image");
return array("records"=>$records, "menu"=>$this->menu); // Используем значение свойства $menu
}
}

Теперь значение переменной $menu будет доступно в методе actionHtml через свойство $this->menu.

Если нужно передать другие значения между функциями, можно использовать аналогичный подход с другими свойствами класса.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир