php - 使用 PHP/MySQL 简化数据库/登录流程

标签 php mysql data-structures application-design

我目前正在开发一个小型网络应用程序。我为不同部门创建了这个。因此,举例来说,假设:营销、人力资源和销售部门使用它。

现在,就目前情况而言,我每个部门都有 3 个完全不同的目录:

 http://mydomain.com/hr
 http://mydomain.com/marketing
 http://mydomain.com/sales

每个目录(部门)都有自己的 MySQL 数据库及其表。

我有几个问题,希望能更有效地创建它:

1) 有时,我的用户可以访问两个或多个部门。例如,用户可能有权访问 HR 和 Marketing。我不想让该用户创建 2 个不同的帐户。我怎样才能将其“绑定(bind)”到一个数据库中?

2)另外,如果我有一个用户可以访问这两个“区域”,那么“引导”该用户在两个部门之间进行切换的好方法是什么?

3)最后,对于不同的目录,是否有更有效的方法来做到这一点?每个目录本质上都是完全相同的代码,只是有一些细微的变化。

这是我从未做过的事情,所以如果能以“正确”的方式创建它,那就太好了。特别是当它很小时,如果我最终将其扩展到其他部门。

谢谢!

最佳答案

  1. 与其他公司一样,您的公司可能有一个地方来存储所有员工信息。您应该在 Web 应用程序上应用相同的原则,这意味着您应该为所有员工拥有一个包含权限信息的中央数据库,以便您可以定义员工对每个部门的访问权限。

  2. 如果您应用上述原则(包含权限信息的所有用户使用一个数据库),那么将用户重定向到其他部门(如果这正是您在此提出的要求)应该非常容易。

  3. 您应该将项目分成更小的部分,以便您可以确定项目的核心部分并在所有部门之间共享该部分。有很多方法可以实现这一点,但是为每个部门复制粘贴代码效率不高,而且以后还会妨碍您。即使有三个部门,将更改复制粘贴到每个部门也是很乏味的。另请注意,如果您为部门使用单独的数据库,您将无法在它们之间共享数据(至少不能以良好、优雅的方式)。

您应该做的是将您的编程语言放在一边几个小时/几天,并编写一些有关该项目的设计文档。它不必太详细,只要足够让您可以看到它的模块化程度以及您可以做什么和不应该做什么来使其更加模块化即可。

话虽如此,您应该等待更多答案,因为我在 SO 方面不像其他人那么专业:-) 请原谅我的英语不好。

关于php - 使用 PHP/MySQL 简化数据库/登录流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1385981/

相关文章:

javascript - Ajax 联系表单中的文件上传不起作用

php - 复杂的 MySQL 加入动态 where

mysql - 如何找到出现次数最多、数量最大的product_id SQL

mysql - 使用 Like AND Like - Not Or 调用 object_id 的 SQL 语句

java - 表示 Java 中两个集合串联的集合

algorithm - 实现双端优先级队列的最佳方式是什么?

PHP——获取主题行中的时间

php - 如何将文件内容实时流式传输到浏览器

php - 如何进行页面控制?

java - 如何在java中找到具有相同键的多个记录中的最小值?