gpt4 book ai didi

php - OOP - session 和 PHP

转载 作者:行者123 更新时间:2023-12-04 00:18:39 25 4
gpt4 key购买 nike

我有点困惑,我去年开始以 OO 方式学习 php 5。第一个项目是使用 Zend 框架完成的。

但是我的一些 friend 正在谈论将对象存储在 $_SESSION 超全局数组中。但我找不到一个很好的例子,为什么或者什么时候这是 nesecarry ?

如果有人能给我提示,为什么要在 session 中存储对象,那就太好了。

最佳答案

Session 本质上是一个变量,您可以在其中存储您想要的任何内容,数字、字符、字符(字符串)、结构......对象。

它也是一个在页面中保持不变的变量。它最常用于保存用户记录的信息

我如何使用Session对象如下:

假设我的数据库中有一个用户表,我需要在我的所有页面上显示名字和姓氏。

我能做的有两件事......老方法:

$result = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE userId=1"));
$_SESSION['userId'] = $result['userId'];
$_SESSION['firstname'] = $result['firstname'];
$_SESSION['lastname'] = $result['lastname'];

现在你可以这样做,这很好,但如果你有下面的代码,那就更好了:

class user{
_construct($userId){

$qry_str = mysql_query("SELECT * FROM users WHERE Id=$userId");

$result = mysql_fetch_array($qry_str);
$this->userId = $userId;
$this->firstname = $result['firstname'];
$this->lastname = $result['lastname'];
}

public $userId, $firstname, $lastname;
}

并初始化

$_SESSION['user'] = new user(1);

或者说多个用户:

$_SESSION['user'][1] = new user(1);
$_SESSION['user'][2] = new user(2);
$_SESSION['user'][3] = new user(3);

然后在代码中您需要做的就是:在登录时通过 userId 分配用户,然后使用存储的类来显示您的所有信息。

通过类,您可以做很多更强大的事情。但上面向您展示了一个简单而有效的解决方案。

试试这个:在用户类的构造中添加 if 语句和 die 语句...构造用户时可以进行错误检查

希望这有帮助

关于php - OOP - session 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com