Zend Framework - Oturum Yönetimi
Oturum, bir web uygulamasında çok önemli bir kavramdır. Kullanıcıya ait verileri web sunucusunda sınırlı bir süre için saklama seçeneği sunar. Zend çerçevesi ayrı bir bileşen sağlar,zend-session oturum bilgilerini işlemek için.
Bir Oturum Bileşeni Kurun
Oturum bileşeni, Composer aşağıda belirtildiği gibi -
composer require zendframework/zend-session
Oturum Bileşenleri
Zend çerçevesi, oturum yönetimini yürütmek için altı bileşen sağlar. Tüm bu bileşenler aşağıda açıklanmıştır -
Zend\Session\Container - Oturum bilgilerini okumak ve yazmak için ana API.
Zend\Session\SessionManager - Bir oturumun tüm yaşam döngüsünü yönetmek için kullanılır.
Zend\Session\Storage - Bu, oturum verilerinin bellekte nasıl saklanacağını belirtmek için kullanılır.
Zend\Session\SaveHandler - Oturum verilerini RDBMS, Redis, MangoDB vb. Gibi fiziksel bir konuma depolamak ve almak için kullanılır.
Zend\Session\Validator - Bu, ilk ve sonraki isteğin uzak adresini ve kullanıcı aracısını çapraz kontrol ederek oturumu ele geçirmekten korumak için kullanılır.
Zend\Session\Config\SessionConfig - Oturumun nasıl davranması gerektiğini yapılandırmak için kullanılır.
Varsayılan konfigürasyon bir oturumla çalışmak için yeterlidir. Yukarıdaki bileşenleri kullanarak bir oturumun tüm yönleri kolaylıkla ele alınabilir.
Oturum Bileşeni Örneği
Zend çerçevesinde bir oturumu anlamak için yeni bir sayfa oluşturmak için aşağıdaki noktalara bağlı kalalım. Varsayılan olarak, bir örnek oluşturmak yeterlidir.Container oturumları yönetmek için sınıf.
Yeni bir eylem oluşturun, sessionAction içinde TutorialController.
Bir Container nesne.
$c = new Container();
Keyfi bir anahtar olup olmadığını kontrol edin countvar. Anahtar mevcut değilse,count 1 değeri ile. Varsa, aşağıdaki kodda gösterildiği gibi değeri artırın.
if (!isset($c->count)) {
$c->count = 0; } else { $c->count++;
}
Sayımı ViewModel'e kaydedin.
Myapp / module / Tutorial / view / tutorial / tutorial / session.phtml içinde sessionAction, session.phtml için bir şablon dosyası oluşturun ve ardından count değer.
Sayfayı yenilemek, değerini artıracaktır. countoturumda. Tam liste aşağıdaki gibidir -
TutorialController.php
public function sessionAction() {
$c = new Container(); if (!isset($c->count)) {
$c->count = 0; } else { $c->count++;
}
$view = new ViewModel([ 'count' => $c->count,
]);
return $view;
}
session.pthml
Session data, COUNT = <?= $this->count ?>
Sample Result
Session data, Count = 5