Как я могу увидеть переменную метода в другом файле отображенном через require_once в этом методе
<?php
class MyClass
{
public static function myFunction()
{
$myVar = 1;
self::openPage("insert");
}
private static function openPage($pageName)
{
require_once 'views/' . $pageName . '.php';
}
}
insert.php файл:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php echo $myVar; ?>
</body>
</html>
Как я могу увидеть переменную($myVar) в другом файле отображенном через require_once? Ошибка: Undefined variable '$myVar';
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
У вас переменная вне зоны видимости. Вот так будет работать, если мы такую переменную создадим или передадим в openPage
class MyClass
{
public static function myFunction()
{
$myVar = 1;
self::openPage("insert", $myVar);
}
private static function openPage($pageName, $myVar)
{
require_once 'views/' . $pageName . '.php';
}
}
некоторые фреймворки для этих целей используют функции compact() и extract(). Примерно так
class MyClass
{
public static function myFunction()
{
$myVar = 1;
self::openPage("insert", compact('myVar'));
}
private static function openPage($pageName, $vars)
{
extract($vars);
require_once 'views/' . $pageName . '.php';
}
}