Как сохранить значение переменной постоянно установленным, не помещая его ни в cookie, ни в глобальную переменную? - PullRequest
1 голос
/ 22 июня 2011

Я работаю в системе PHP, где мне нужно постоянно устанавливать пару переменных во всех используемых классах.Данные в основном извлекаются с помощью вызовов ajax и запросов MySQL.

Значение каждой переменной не изменится, пока не будет нажата определенная ссылка.

Какой наилучший метод для этого?Я немного застрял, потому что я не могу использовать ни глобальные переменные, ни cookie.

Заранее спасибо.

N.

Ответы [ 4 ]

0 голосов
/ 22 июня 2011

Вы можете использовать реестр. Но подумайте, нужно ли вам это делать, и подумайте о внедрении зависимости. Попробуйте сделать свой код слабо связанным.

0 голосов
/ 22 июня 2011

session_start ();

echo $ _SESSION ['foo'];

$ _ SESSION ['foo'] = $ _REQUEST ['foo'];

0 голосов
/ 22 июня 2011

Вы должны посмотреть на сеансы .

Вот простой пример использования сессии:

 session_start();
 // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
 if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
 } else {
    $_SESSION['count']++;
 }

Некоторый html позже ...

 <p>
Hello visitor, you have seen this page <?php echo $_SESSION['count']; ?> times.
</p>

<p>
To continue, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">click
here</a>.
</p>
0 голосов
/ 22 июня 2011

Храните его в суперклассе. Таким образом, все подклассы, производные от суперкласса, могут обращаться к этой переменной, которая не является ни глобальной, ни переменной сеанса.

<?
    class MySuperClass
    {
        protected myVariable;
    }

    class MySubClass extends MySuperClass
    {
        function bleh()
        {
            $this->myVariable = "yeah... neither global or cookie";
        }
    }
?>

// Or use $_SESSION instead of the above. $_SESSION['mynamespace']['my_variable'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...