Php 拉威尔的管理小组?
我正在考虑从代码点火器切换到Laravel 我们使用自定义管理面板部署了大量站点 这是设置为两个安装的代码点火器 你基本上已经做到了(简化了,我们实际上在主站点和管理面板上都使用HMVC,但这让人明白了这一点) 管理员安装设置为通过includes从主站点加载配置文件(例如Php 拉威尔的管理小组?,php,laravel,Php,Laravel,我正在考虑从代码点火器切换到Laravel 我们使用自定义管理面板部署了大量站点 这是设置为两个安装的代码点火器 你基本上已经做到了(简化了,我们实际上在主站点和管理面板上都使用HMVC,但这让人明白了这一点) 管理员安装设置为通过includes从主站点加载配置文件(例如database.php) 我们的所有主站点模型都通过include使用管理面板中的模型,然后对其进行扩展,这样我们就可以只在主站点中拥有特定于主站点的功能 这对我们来说效果很好,但现在我们正在切换到Laravel。我们想知道
database.php
)
我们的所有主站点模型都通过include使用管理面板中的模型,然后对其进行扩展,这样我们就可以只在主站点中拥有特定于主站点的功能
这对我们来说效果很好,但现在我们正在切换到Laravel。我们想知道是否有更好的方法来做到这一点,我们使用管理面板来管理几个“模块”,如博客、购物车、物业管理器,这些都是下拉式功能
基本上,我们希望能够:
- 保持主站点与管理面板的分离清晰,这样我们就可以在我们的任何站点上使用管理面板李>
- 仍然能够放入捆绑包(例如博客捆绑包)
- 理想情况下,我们希望在管理面板和主站点之间有一个包含三个文件夹的共享bundles文件夹<代码>管理/
/主
因此捆绑包是自包含的共享
在laravel中实现这一点的最佳方式是什么?您可能已经考虑过这一点,但我认为最好使用管理捆绑包,因为捆绑包都是核心系统的一部分。它有利于SoC和简单性(易于使用) 然后,管理面板可以找到所有包(当然,除了它本身)来读取和写入配置条目,例如博客包的配置条目
另一种方法是将管理面板放入主应用程序中,方法是将特定命令路由到各种管理控制器(不要忘记,您可以将控制器放入子文件夹)。例如,您可以使用
routes.php
,admin/pages/edit/152
路由到application/controllers/admin/
中的pages.php
控制器。您甚至可以使用这种方法,通过扫描bundles目录来管理各种bundles/管理单元,如前所述。有没有办法更改Apache配置,使每个站点都是一个虚拟主机,从Laravel向上一个目录?这样,每个站点都将成为自己的“html”目录,您实际上不需要更改Laravel中的任何内容;index.php中的行将为您完成所有繁重的工作:
require '../paths.php';
这是假设您的所有站点都运行在同一台机器或集群上,因此您的系统看起来是这样的
assets
system
application
config
controllers
admin
site1
site2
models
admin
site1
site2
views
admin
site1
site2
html_site1
html_site2
但是,如果您只想让管理面板成为自己的应用程序,您可以将html的内容复制到管理目录中,更改该目录的mod_rewrite或.htaccess,然后更改
require '../paths.php';
到
它将使用完全不同的laravel应用程序。您可以使用Laravella(laravel的CMS、CRUD软件包)
无论是否使用Laravella,都要为每个站点创建一个覆盖主站点类的包。这样,您就可以将每个站点保存在其自己的源代码管理存储库中。我也从CI切换到了Laravel,发现Laravel中有基本的管理面板,但在生成CRUD时并不是处理数据的适当解决方案 Check LaraAdmin是一个开源的Laravel管理面板/CMS,可作为Laravel的管理后端、数据管理工具或CRM样板,具有CRUD生成、模块管理器、媒体、菜单、备份等功能 文件:
源代码:@Charles-为什么那些标签不相关?它是关于两个不同的框架-因此
框架
|它是关于一个管理面板,用于为多个站点供电,因此多站点
,它是关于管理面板,因此管理
标记不是关键字。“框架”和“管理”是噪音。它们基本上是无用的垃圾场。去看看他们的问题列表,你会发现列出的问题没有共同点。应该不鼓励使用它们。“multisite”没有其他问题,它是不必要地作为wordpress问题的一部分创建的。这是一个拉威尔的问题。公平的呼吁,然后,只是想一些澄清,为什么他们被删除,现在我知道不再使用它们。
require '../paths.php';
require 'path/to/admin/paths.php';