PHP - multi array de sessão dimensional uma boa ou má idéia para o desempenho?
-
05-07-2019 - |
Pergunta
Existem razões para não querer usar um array de sessão multidimensional para armazenar os dados do usuário temporários?
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.