Pt:Estado Persistente
From PRADO Wiki
Aplicativos web precisam relembrar constantemente o que um usuário final fez em requisições de páginas anteriores de modo que o novo pedido de página possa ser servido em conformidade. O estado persistente é para solucionar este problema. Tradicionalmente, se uma página precisa guardar informações sobre a interação do usuário, recorrerá a sessões, cookies ou campos ocultos. PRADO provê novos esquemas de estado persistente, incluindo view state, control state e application state.
Contents |
View State
O view state encontra-se no coração de PRADO. Com o view state, as páginas web torna-se stateful e são capazes de restaurar páginas com o estado em que foram deixadas, pelo usuário, antes do pedido da página atual. Programação web assemelha-se a programação Windows GUI e os desenvolvedores podem pensar continuamente sem se preocuparem com problemas entre o usuário e o servidor web. Por exemplo, com view state, um controle textbox pode detectar se houve alteração de conteúdo. O view state está disponível apenas em controles. O view state de um controle pode ser desabilitado setando a propriedade EnableViewState para false. Para armazenar o valor de uma variável no view state, faça o seguinte:
$this->setViewState('Caption', $caption);
Onde $this refere-se ao objeto controle, Caption é uma chave única para identificar a variável $caption armazenada no view state. Para restaurar o valor armazenado no view state para a variável $caption, faça o seguinte:
$caption = $this->getViewState('Caption');
Control State
O control state é como o view state em todos os aspectos, exceto que o control state não pode ser desabilitado. O control state foi criado para armazenar informações cruciais, sem as quais uma página ou um controle poderiam não funcionar corretamente.
Para armazenar e restaurar uma variável no control state, use os seguintes comandos:
$this->setControlState('Caption', $caption); $caption = $this->getControlState('Caption');
Application State
O application state refere-se aos dados que são persistentes através de sessões de usuários e requisições de páginas. Um exemplo típico de application state é o contador de visitantes. O valor do contador é persistente mesmo se a sessão atual do usuário termina. Nota, view state e control state são perdidos quando se requisita uma página diferente, enquanto session state é perdido se a sessão do usuário terminar.
Para armazenar e restaurar uma variável no application state, use os seguintes comandos:
$application->setGlobalState('Caption', $caption); $caption = $application->getGlobalState('Caption');
Session State
PRADO encapsula o gerenciamento tradicional de sessões no módulo THttpSession. O módulo pode ser acessado dentro de todos os componentes usando-se $this->Session onde $this refere-se ao objeto.

