1
avenger 2019-12-14 09:21:18 +08:00 via iPhone
参考官方 package 模式开发不好吗?
|
2
zhyt0520 2019-12-14 15:58:55 +08:00 via Android
我也想知道
|
4
avenger 2019-12-20 15:20:35 +08:00 1
|
6
lijialong1313 OP @avenger 按照 laravel 这里说的应该是和 vendor 的开发吧,但是要怎么解决 app 里面文件的问题这里没有说啊。你的意思是不是:
route 这类采用 laravel 的挂载,自己写一个 provider 然后添加到 kenerel 里 app 的话修改 composer 文件让其挂在其他目录为 app 目录 |
7
avenger 2019-12-20 17:55:23 +08:00
@lijialong1313 既然要模块化,就要把可以独立的包抽象出来,可以有自己的 Route,自己的 provider,再通过 autoload 注入 App,可以参考一下官方的包是怎么写的,例如 Horizon、Telescope 这些。
|
8
lijialong1313 OP @avenger 我研究了一下 autoload,但是我们手上这个需要模块化的项目,各方面是强相关的,不是特别适合于抽象。
比如我们有一个推送模块,它分为了管理界面->推送底层实现->推送界面三个部分,我们的模块化就将这三个部分给独立开来了。 我现在遇到的问题是,随着这种“模块”的增多,整个项目需要管理起来就会变得特别庞大。问题主要是,比如推送模块是有权限设置的,那它也需要数据库,需要自己的表,自己的路由,自己的界面,但是这个”自己的界面“会基于这个项目的底层(比如 resouces/views/main.blade.php )再显示。这里面就比较复杂,要处理起来也比较麻烦。 我希望的就是能不能有一些解决方案能类似 composer 一样,但是不使用 vendors 文件夹。 有关 laravel 和 composer 我看过文档,问题主要在 composer 和 laravel 给的比较固定死,比如路由固定死了要用这个方法挂载,但是挂载之后,我希望对部分模块进行中间件的拦截(比如推送系统需要嵌套微信登录,微信登陆用 overtrue 的,而且这个中间件基于它的还有二次修改),这时候似乎 laravel 和 composer 都比较有心无力。 |