Pergunta

Existem razões para não querer usar um array de sessão multidimensional para armazenar os dados do usuário temporários?

Foi útil?

Solução

Eu diria que depende mais do tamanho dos dados e não no número de dimensões, porque os dados são serializados antes de guardar. Claro, uma matriz multi-dimensional profunda pode causar um desempenho atingido também, mas este é um indicador comum de que há uma maneira melhor de fazê-lo.

Outras dicas

A menos que você está armazenando megabytes no valor de dados, ele deve fazer diferença de desempenho insignificante como você optar por fazer uso do array $ _SESSION, pois só fica serializado para uma string. Pessoalmente, eu sou um fã da criação de uma classe Session e salvar uma instância dele em $ _SESSION [ 'sessão']. Algo parecido com isto:

<?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'];
?>

Save que em um arquivo chamado session.php, e depois é só exigem 'session.php' no topo de cada arquivo php, onde você precisa de acesso à sessão, e acesso a sessão através da variável $ session definido na parte inferior .

Não que eu possa pensar.

Se você está preocupado serialize-lo primeiro em uma string.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top