你好,我有一个网站,我有3类AnonymousUser(为未登录的用户),Users(为普通用户注册)和UsersInSession(用户谁有一个会话)所有这些类继承自人民类。
我从sql查询中获取用户数据,并序列化正在登录的用户数据并将其保存到_SESSION["objectSession"],当用户登录每个PHP文件时,我将_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>我能用这些类在Zend Framework中实现吗?
我不知道这些类是Model还是Controller。
发布于 2012-12-28 22:13:59
对于这个问题,你的ZF版本是无关紧要的,因为它更多的是一个结构问题,而不是其他任何问题。
对于初学者来说,你目前有3个类做了很大程度上相同的事情。您可以将这3个类压缩为一个具有3个(或更多)身份验证和访问级别的用户类。
在使用ZF2时,您可以使用:Zend\Authentication来控制您的身份验证(登录)系统,然后当您的应用程序决定每个用户获得的访问级别时,您可以使用访问控制组件之一来控制用户可以访问哪些资源。
Zend/Permissions/Acl,传统的基于对象的访问控制列表。
基于角色的Zend/Permissions/Rbac。
如果您确实不想/不需要使用自己的解决方案,您可以在ZF2 modules上找到一些非常好的访问控制和身份验证解决方案
编辑
我能用这些类在Zend Framework中实现吗?
是的,尽管您可能需要重命名它们以便于实现。
我不知道这些类是模型类还是控制器类。
从您的描述来看,您的类很可能包含了每个类中的模型、控制器甚至视图元素。因此,可能需要进行一些重构。
通常,这些类主要是'Domain Model'类型的模型类,它们将与一个或多个要通过视图处理和呈现的控制器进行交互。
发布于 2012-12-29 01:36:46
谢谢,好吧,也许我问的问题不是非常good..what,我用这3个类做的是检查用户是否有“特权”来做这件事,例如:
-Anonymous用户(继承自People类)不能评论任何个人资料。
-Users (也继承自People类)可以发表评论,并让它的个人资料和pictures.Each用户有一个隐私表,所以用户的依赖项可以评论他们的朋友,或者所有users.This类都有检查隐私( $iduser )方法,检查用户是否可以看到$iduser的个人资料。这个类也有checkBlocked($iduserblock)函数,因为它可以检查用户是否被阻止,并且不能看到配置文件。
-People类(此类完成工作)检查会话是匿名用户还是用户(已登录)如果已登录,我们将检查是否被阻止,并检查他是否可以comment.If是匿名者不需要检查他是否已被阻止。此类具有加载配置文件的方法loadProfile($id)以及更多问题
https://stackoverflow.com/questions/14061058
复制相似问题