Php 为应用程序后端做出哪些选择

Php 为应用程序后端做出哪些选择,php,mysql,backend,Php,Mysql,Backend,我正在创建一个web应用程序,我已经开始做出后端选择。现在有很多方法可以做到这一点,所以我正在寻找一些好的观点和经验 我提出的一些问题涉及: 我应该在数据库中为管理员用户创建一个单独的表吗 我应该扩展一些类来加载管理数据和普通数据,还是为管理部分创建单独的类 我在哪里可以获得关于创建不同类型用户的信息 只是一些后端的最佳实践 我的应用程序是用PHP和MySQL数据库编写的 为管理员用户保留一个单独的表是很好的,但前提是这些管理员用户也不是“普通”用户,否则,您将自行尝试保持用户名/ID的唯一

我正在创建一个web应用程序,我已经开始做出后端选择。现在有很多方法可以做到这一点,所以我正在寻找一些好的观点和经验

我提出的一些问题涉及:

  • 我应该在数据库中为管理员用户创建一个单独的表吗
  • 我应该扩展一些类来加载管理数据和普通数据,还是为管理部分创建单独的类
  • 我在哪里可以获得关于创建不同类型用户的信息
  • 只是一些后端的最佳实践

我的应用程序是用PHP和MySQL数据库编写的

为管理员用户保留一个单独的表是很好的,但前提是这些管理员用户也不是“普通”用户,否则,您将自行尝试保持用户名/ID的唯一性,但在某种程度上保持连接

需要考虑的几件事:

  • (或IIS上的Windows帐户)用于管理员用户。完全独立的系统,但允许重叠-普通用户可以是普通用户,但在通过浏览器验证之前,他们无法访问任何管理功能。如果您只有两种特定类型的用户角色(例如,仅限成员和管理员),则可以正常工作

  • 所有用户都在一个表中,但角色和权限是分开的。这是最灵活的,因为您可以获得所需的粒度。例如,任何用户都可以“发表评论”,而管理员可以“删除评论”和“禁止用户”,但版主只能“暂停评论”和“禁止用户”。添加新功能时,只需实现一些新权限并将其分配给角色即可s做得很好,值得仔细看看


一个好方法是在用户表中为“排名”添加一个新字段,以便区分普通用户和工作人员,如果需要,还可以区分不同的工作人员级别,如版主、管理员等。因为管理员应该能够执行用户可以执行的所有功能。使用

class Admin extends User { }
如果要添加特定于员工的其他功能

至于后端功能,这取决于站点的设置方式。如果您使用的是一个框架,那么您只需向现有控制器添加新功能,并将访问权限限制为仅限具有特定级别的用户

例如,您可能有一个ForumPost对象的控制器,但是调用ForumPost delete()函数需要用户是论坛主持人

如果您不使用框架,您可能需要为您需要的每个后端功能创建自己的页面