У меня проблема с global variable
scope в php .Ниже приведен мой фрагмент кода, можете ли вы сказать мне, что я делаю неправильно, и если использование глобальной переменной не требуется?
Версия PHP - 5.3.5
a.php
global $login;
$login = 0 ;
if(1==1) // here is some session checking condition
{
echo "<BR/>inside if".__FILE__;
$login = 1 ;
}
function alpha() {
echo "<BR/>".__FUNCTION__;
global $login;
if($login)
{
echo "<br/>Login is available";
}
else
{
echo "<br/>Login not available";
}
}
b.php
$login=0;
if(1==1) // same condition define in a.php
{
ECHO "<BR/>inside if".__FILE__;
$login = 1;
}
if($login == 0)
{
echo "out";
}
login.php
require_once("a.php");
require_once("b.php");
alpha();
echo "<BR/>".__FILE__;
echo $login;
Кажется, что мой подход неправильный, какой метод лучше?Требуется ли объявление какой-либо глобальной переменной в этом сценарии?Будет ли $login
в b.php
влиять на какую-либо переменную?
примечание: if
условие в a.php
и b.php
одинаково, но я не могу объединить.