Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否有条件地允许MVC中的功能/渲染视图?_Php_Model View Controller - Fatal编程技术网

Php 是否有条件地允许MVC中的功能/渲染视图?

Php 是否有条件地允许MVC中的功能/渲染视图?,php,model-view-controller,Php,Model View Controller,我正在为我的PHP应用程序使用基本MVC模式(的自定义版本) 我不确定处理这种情况的正确方法是什么: 假设我的应用程序将被两个不同的公司使用。每个公司都希望有特定的功能。公司将共享一些核心功能。 我还需要管理每个公司的用户权限(管理员、员工等) 我的目标是拥有“模块”(特定功能-仪表板、配置文件页等),并有条件地为每个受用户权限影响的公司加载这些模块 我还需要为每个公司加载不同的布局。(并非完全不同,只是略有变化。) 我在谷歌上搜索了一下,找到了ACL和Decorator之类的东西,但我认为它们

我正在为我的PHP应用程序使用基本MVC模式(的自定义版本)

我不确定处理这种情况的正确方法是什么:

假设我的应用程序将被两个不同的公司使用。每个公司都希望有特定的功能。公司将共享一些核心功能。 我还需要管理每个公司的用户权限(管理员、员工等)

我的目标是拥有“模块”(特定功能-仪表板、配置文件页等),并有条件地为每个受用户权限影响的公司加载这些模块

我还需要为每个公司加载不同的布局。(并非完全不同,只是略有变化。)

我在谷歌上搜索了一下,找到了ACL和Decorator之类的东西,但我认为它们不是我想要的

对于这种情况,最好的方法是什么

提前感谢。

我想(对不起,没时间检查)这个框架真的很像MVC,带有单点入口(bootsrtap)。 每个公司的整个业务逻辑和请求处理保持不变,只是配置不同

对于start,您需要添加一个域顶级url部分(主文件夹或子域),然后从url请求中将其提取为公司名称/别名/id($\u GET),并将其用作变量以加载正确的配置-数据库条目(至少),可能是激活的模块(如果未存储在数据库中),个性化视图(文件前缀/文件夹名称)等等。所有这些都涉及(应用程序)配置加载部分(变量路径)中的small.htaccess和framework增强。其余的只是为一家假设的公司编写完整的工作应用程序,所有模块都已激活:)


您的主页(仅域url)将仅作为具体公司的调度器(它不必基于框架,即使是带有链接的纯html也可以),但它将比使用另一个公共数据库作为其他数据库的自动调度器更简单(这不是很难做到,但我将留到以后的开发中).

这里的问题非常广泛。我希望您知道,您将需要他们登录,根据登录的用户,您将显示的数据。我是MVC的初学者,但我不需要特定的代码示例等。我只需要指出正确的方向:)。你是在问你的代码会在哪里?或者您将如何确定要显示的数据?这是我不清楚的,也许两者都有。我不清楚的是,如何让两家公司使用一个MVC应用程序。比如myapp.com将成为主要网站。然后我想要像myapp.com/company1和myapp.com/company2这样的东西。每个公司都应该有不同的数据库,以及登录后显示的不同“模块”。我还想让这些模块的功能受到公司中用户角色的限制。是的,这是一个广泛的问题。如果你愿意,请通过我的电子邮件与我联系contact@alexkvazos.com. 我可以更好地帮助您。为每个公司创建子文件夹,并将模型、视图、控制器文件夹放入其中,这是一个好主意吗?并为共享模块创建f.e.“common”文件夹?@networ-我对问题的理解是,整个应用程序(模型、视图和控制器)都是应该在此处共享的组件,除非您想根据特定框架在公共域下编写单独的(不同类型)应用程序。是的,对不起,我的错。我可能想制作一些定制的MVC框架,其中包含一些共享的核心组件,如登录、管理区域等,然后为每个公司制作基于它的不同类型的应用程序。但我的目标是将所有这些应用程序都放在一台服务器上,因此我希望将应用程序的核心(“框架”)放在根目录中,然后例如,将文件夹“private”和it文件夹放在其中:common、company1、company2,每个文件夹中都有Models、view和controller文件夹。然后我会像myapp.com/company1一样访问它。这是个好计划吗?@networ-是的。我的答案几乎是一样的,但是你需要的不是配置指针变量,而是应用指针变量(配置将由应用本身选择)。我的目标是拥有一个易于更新的框架。这就是为什么我认为如果我把它集中起来会很好。但正如我现在所想的,也许在公司的每个文件夹中都有框架的完整副本更容易、更好,而且不必担心一些特殊的路由。但我不知道如何解决f.e.登录系统的更新问题。如果我更改了某些内容,我必须在框架的每个副本中手动更新它。。。