Как из одной функции передать значение в другую? Код: 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 во вторую функцию, дабы там ее вернуть в массиве. Как это провернуть? Или же есть иной путь?
Чтобы передать значение переменной $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.
Если нужно передать другие значения между функциями, можно использовать аналогичный подход с другими свойствами класса.
Чтобы передать значение переменной $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.
Если нужно передать другие значения между функциями, можно использовать аналогичный подход с другими свойствами класса.