gpt4 book ai didi

codeigniter - Laravel vs Codeigniter - 在 Laravel 中获取 CI 的 HMVC 功能

转载 作者:行者123 更新时间:2023-12-02 05:28:36 25 4
gpt4 key购买 nike

如果我没记错的话,Laravel 的 Bundle 应该类似于 Codeigniter 的 Hierarchical MVC 三元组。我有一个用 CI 构建的项目,我想将它迁移到 Laravel,所以我试图匹配一些功能。在 CI 中,只需安装 HMVC 扩展,创建适当的文件夹结构,您就可以访问新创建的 Controller 了。但是在 Laravel 中,在你创建一个 bundle 之后,你需要通过添加

application/bundles.php 中注册它
return array('newbundle'),

有没有办法让我自动注册存在于我的 bundle 目录中的所有(有效) bundle ?就像这样,无需显式注册每个新包。换句话说,我想让 bundle 更动态一点,这样我就可以只复制一个 bundle,将其粘贴到另一个项目中并立即开始使用。

作为附带问题,是否有人知道使用 Laravel 的 bundle 实现 Wordpress 对其插件所做的“正确”方法:显示 bundle 目录中安装的所有 bundle 的列表,但仅激活(注册) 被选中的?

最佳答案

我不明白为什么没有人给你实际的答案。到现在为止,您可能已经知道如何实现自动加载包,如果还没有,请看下面的包。

http://bundles.laravel.com/bundle/autobundle

对于你的第二个问题,你需要开发一个自定义应用程序/bundle 来管理它,就像 wordpress 使用插件一样。我只能给你想法,开发部分是你的。

保留一个数据库表(示例包)并有一个自定义包或路由/ Controller 来管理添加/删除包,包括将新包作为 zip 上传并将其解压缩到包文件夹,同时在数据库表中注册包详细信息。每当你想激活插件时,使激活字段为真,并在应用程序目录的主 start.php 中有一个自定义包启动方法,它可以是一个函数来获取所有激活包的名称并将它们加载到注册表。如果您想使用这种方法,您可以避免使用自动 bundle ,因为它实际上会加载 bundle 目录中的所有内容。

关于codeigniter - Laravel vs Codeigniter - 在 Laravel 中获取 CI 的 HMVC 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12713214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com