PHP - многомерный массив SESSION - хорошая или плохая идея для производительности? - PullRequest
3 голосов
/ 10 сентября 2009

Есть ли причины не использовать многомерный массив SESSION для хранения временных пользовательских данных?

Ответы [ 3 ]

3 голосов
/ 10 сентября 2009

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

1 голос
/ 10 сентября 2009

Если вы не храните данные в мегабайтах, это может незначительно повлиять на производительность, если вы решите использовать массив $ _SESSION, поскольку он просто сериализуется в строку. Лично я фанат создания класса Session и сохранения его экземпляра в $ _SESSION ['session']. Примерно так:

<?php
class Session
{
    private $something;

    public function Session()
    {
        // Constructory things
    }

    // Methods to your heart's content
}

if (session_id() == '')
{
    session_start();
}

if (empty($_SESSION['session']))
{
    $_SESSION['session'] = new Session();
}
$session =& $_SESSION['session'];
?>

Сохраните это в файле с именем session.php, а затем просто требуйте 'session.php' вверху каждого php-файла, где вам нужен доступ к сеансу, и получите доступ к сеансу через переменную $ session, определенную внизу .

0 голосов
/ 10 сентября 2009

Ни о чем я не могу думать.

Если вы волнуетесь, сначала сериализуйте его в строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...