我正在使用Laravel开发一个应用程序。但是我对应用程序的模块化结构有疑问。
下面是一个例子。
假设我需要一个名为"featured items"的模块;
这是一个小模块,应该包含在一些控制器中。
问题是我不确定如何做到这一点?这应该是一个将在其他控制器内部调用的新控制器吗?
这应该是模型吗?应该把它写成一个包吗?
有没有人知道什么是最好的方法?
我不认为这个问题有一个正确的答案,因为这是一个偏好问题,尽管有一些事情要记住,让你做出一个明智的决定,你的代码应该放在哪里。
模块是否占用空间小,仅靠自身就能运行?
- 创建一个库
模块是否需要自己的路由和视图,但不需要库?
- 创建应用控制器
- 使用Laravel Routes
- 使用bundle控制器
模块是否同时包含上述内容?
- 创建一个包含控制器和库的bundle
这个包让你能够使用模块系统的Laravel 5。你可以简单地将模块连同它们自己的控制器、模型、视图、翻译和路由文件放到app/modules文件夹中,然后继续使用它们。
按照
安装安装这个包的最好方法是通过Composer在你的终端上安装。
从项目根目录
运行以下命令composer要求artemm -schander/15 -modular一旦这个操作完成,只需将服务提供程序添加到项目的config/app.php中,就可以完成了。
服务提供者ArtemSchander ' L5Modular ' ModuleServiceProvider::类,
开始
内置的Artisan命令php Artisan make:module name[——no-migration][——no-translation]在app/Modules文件夹中生成一个可使用的模块,必要时还会进行迁移/翻译。
https://github.com/Artem-Schander/L5Modular把它放在库中并自动加载它怎么样?
http://laravel.com/docs/models库这样你就可以在任何控制器中调用它
像特色项目这样的东西可能会调用您的数据库。我会在你的产品模型中创建一个方法,例如getFeaturedItems。然后用雄辩或流利来获得结果。