Zend_Session sorunlar

3 Cevap php

Ben .. internette bazı yazılar okudum, ama ben alamadım: |, siz böyle bir şey yapmak için nasıl, bana bir örnek verebilir: {[(1)] $_SESSION['name'] = 'value'; ve }. nasıl ZF ile böyle bir şey oluşturabilir?

Saygılarımızla,

3 Cevap

Her şeyden önce, sayfanızın üstündeki bu koyun:

<?php
    Zend_Session::start();

    if(!Zend_Registry::isRegistered('session'))
    {
       $session = new Zend_Session_Namespace('YourSiteName');
       Zend_Registry::set('session', $session);
    }
?>

Oturumu değiştirmek için:

<?php
    $session = Zend_Registry::get('session');
    $session->user_name = $user_name;
?>

Oturumu okumak için:

<?php
    $session = Zend_Registry::get('session');
    echo 'Hello '.$session->user_name.' !';
?>

Veya geçerli oturum ad alanındaki tüm değerleri görmek için:

<?php
    $session = Zend_Registry::get('session');

    foreach ($session as $index => $value) 
    {
       echo "session->$index = '$value';<br />";
    }
?>

Zend Framework ile çalışırken, yerine, Zend_Session sınıf kullanmak, $_SESSION, doğrudan çalışmak, ama olmamalıdır.

Muhtemelen Basic Usage manuel sayfada soruya cevap bulacaksınız.

Örneğin, bir numberOfPageRequests oturumda depolanır, bu gibi bir şey kullanabilirsiniz kullanmak için:

$defaultNamespace = new Zend_Session_Namespace('Default');

if (isset($defaultNamespace->numberOfPageRequests)) {
    // this will increment for each page load.
    $defaultNamespace->numberOfPageRequests++;
} else {
    $defaultNamespace->numberOfPageRequests = 1; // first time
}

Bu biraz daha karmaşık görünüyor olabilir $_SESSION, doğrudan, itiraf ediyorum ... ama bu size bir tutarlı, nesne yönelimli, arayüz verir çalışma - ki ^ ^ en azından bir şey var


Of course, you might need to start the session before that, using

Zend_Session::start();


If you have additionnal questions, more specific, don't hesitate to ask !

Bu tarafından (öğretici devletler gibi) yapabilirsiniz:

$defaultNamespace = new Zend_Session_Namespace('Default');

if (isset($defaultNamespace->name))
{
    echo $defaultNamespace->name;
} 
else 
{
    $defaultNamespace->name = "hi";
}

Öncelikle, kullandığınız Session nesnesi oluşturmanız gerekir:

$defaultNamespace = new Zend_Session_Namespace('Default');

Varsayılan yerine özel bir değer tanımlayarak, bu değişkenlerin hiçbiri varsayılan yerine benzersiz değerleri kullanmak sistemin diğer sistemlerden değişkenler veya diğer parçaları ile karıştırmak anlamına gelir.

Bundan sonra, her değişken normal bir sınıf değişkeni gibi erişilebilir

Herhangi bir değişken kullanılarak atanabilir

$defaultNamespace->variable_name = value;

Herhangi bir değer elde etmek için, sadece aynı değeri olsun;

$variable - $defaultNamespace->variable_name; // gets value

Pascal belirtildiği gibi, siz de aramak gerekir

Zend_Session::start();

tüm bu daha önce.

Bu konuda daha fazla bilgi edinmek için, kullanmak Basic Usage Examples.