Как из одной функции передать значение в другую? Код: 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
235 +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 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир