Php 如何在Zend框架中实现用户会话类

Php 如何在Zend框架中实现用户会话类,php,zend-framework,session,Php,Zend Framework,Session,您好,我有一个网站,我有3个类匿名用户(对于未登录的用户),用户(对于已注册的普通用户)和用户会话(具有会话的用户)。所有这些类都继承自People类 我从一个sql查询中获取用户数据,并序列化正在记录的用户数据,然后将其保存到\u SESSION[“objectSession”],当用户记录每个PHP文件时,我将\u SESSION[“objectSession”]序列化为$objectSession对象。。 当我想在对象中获取我的好友列表(在MySQL的参考资料中)时,我会: $myFrie

您好,我有一个网站,我有3个类
匿名用户
(对于未登录的用户),
用户
(对于已注册的普通用户)和
用户会话
(具有会话的用户)。所有这些类都继承自People类

我从一个sql查询中获取用户数据,并序列化正在记录的用户数据,然后将其保存到
\u SESSION[“objectSession”]
,当用户记录每个PHP文件时,我将
\u SESSION[“objectSession”]
序列化为
$objectSession
对象。。 当我想在对象中获取我的好友列表(在MySQL的参考资料中)时,我会:

$myFriends=$objectSession->getFriends();
然后我可以这样打印我朋友的数据:

 <table> <tr> <td>Name</td><td>Lastnames</td> </tr> <?php
 while($objectFriend=$myFriends->fetchObject("Users")){ ?> <tr> <td><?
 echo $objectFriend->name; ?></td> <td><? echo
 $objectFriend->lastnames; ?></td> <?php } ?></tr></table>
NameLastnames
我可以用这些类在Zend框架中实现吗


我不知道这些类是模型类还是控制器类。

对于这个问题,您的ZF版本是不相关的,因为它更像是一个结构问题,而不是其他问题

首先,您目前有3个类,它们做的事情基本相同。您可能可以将这3个类压缩为一个具有3个(或更多)身份验证和访问级别的用户类

使用ZF2时,您可以通过以下方式访问身份验证(登录)系统: 然后,当应用程序决定每个用户的访问级别时,您可以使用其中一个访问控制组件来控制用户可以访问哪些资源。
,传统的基于对象的ACL。
,基于角色的ACL

如果您真的不想/不需要扮演自己的解决方案的角色,您可以在

[编辑]

我可以用这些类在Zend框架中实现吗

是的,不过您可能需要重命名它们以便于实现

我不知道这些类是模型类还是控制器类

根据您的描述,您的类很可能在每个类中包含模型、控制器甚至视图元素。因此,可能需要进行一些重构


通常,这些类主要是与一个或多个控制器交互的模型类,这些控制器将通过视图进行处理和显示。

谢谢,也许我问的问题不是很好。我使用这3个类所做的是检查用户是否有“特权”,例如:

-匿名用户(从People类继承)不能评论任何配置文件

-用户(也从People类继承)可以发表评论,并拥有其个人资料和图片。每个用户都有一个隐私表,因此用户的从属用户可以评论他们的朋友或所有用户。此类具有checkprivacy($iduser)方法,检查用户是否可以看到$iduser的个人资料。这个类也有checkBlocked($iduserblock)函数,因为它可以检查用户是否被阻止并且看不到配置文件


-People类(该类执行此任务)检查会话是否为匿名用户,或是否为已登录的用户(已登录)。如果已登录,我们将检查是否被阻止,并检查他是否可以发表评论。如果是匿名用户,则无需检查他是否被阻止。。这个类有loadProfile($id)方法来加载配置文件和更多问题

您使用的是哪一版本的zend framework?谢谢我使用的是zend 2.0。很抱歉,我没有什么帮助,因为我还没有升级到zend-framework2。