会话和状态 [英] Sessions and Statefulness

查看:38
本文介绍了会话和状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果 PHP 是无状态的,那么即使您将变量声明为静态变量,它们也不会在不同的运行中保留它们的值.那么尝试使用如下类来监控会话是没有意义的,因为会话在运行期间保持状态,但 PHP 用户代码不会.

If PHP is stateless then even if you declare variables as static they do not retain their values across different runs. So is it pointless to try and monitor your sessions using a class such as below as sessions maintain state across runs but PHP user code does not.

class session
  {
  protected static $ses_id ="";
  public static function start()
    {
    self::$ses_id = session_start();
    }
  public static function is_start()
    {
    return self::$ses_id;
    }
  public static function finish()
    {
    self::$ses_id = 0;
    $_SESSION=array();
    if (session_id() != "" || isset($_COOKIE[session_name()]))
      {
      setcookie(session_name(), '', time()-2592000, '/');
      }
    session_destroy();
    }
  }

推荐答案

您编写的类没有添加任何新功能,它只是包装了现有功能(由 session_* 功能).如果您需要调解或控制对会话的访问,这种事情可能是值得的.只有您可以判断在您自己的应用中是否值得.

Your class as you've written it doesn't add any new functionality, it simply wraps existing functionality (provided by the session_* functions). This kind of thing can be worthwhile if you need to mediate or control access to the session. Only you can judge whether it's worthwhile in your own app.

这篇关于会话和状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆