Closed crazywhalecc closed 1 year ago
我认为其实可以把两种方式统一为一种?以单文件为主。 关于加载问题,我们可以统一约定一种命名,例如以 Plugin 结尾,或者在 composer.json 内指定( extra 字段)。 如果用户希望以多文件进行开发,可以在原单文件中添加一个开关或选项。
本地引入或开发方面,我有两种想法: 提供一个加载插件的方法,参数为插件入口类,用户可以直接调用来加载。 用户在 composer.json 中通过添加 repositories 字段,将本地插件视为正常 Composer 插件使用。
这样的话应该可以较好地方便同时兼容本地和 Composer 插件?
我不太支持把 Source 视为插件,感觉会相当混乱。
From: Jerry @.> Sent: Sunday, December 18, 2022 2:55:30 PM To: zhamao-robot/zhamao-framework @.> Cc: sunxyw @.>; Assign @.> Subject: Re: [zhamao-robot/zhamao-framework] 3.0 对于不同类型插件的支持和加载方式 (Issue #183)
Assigned #183https://github.com/zhamao-robot/zhamao-framework/issues/183 to @sunxywhttps://github.com/sunxyw.
― Reply to this email directly, view it on GitHubhttps://github.com/zhamao-robot/zhamao-framework/issues/183#event-8063462840, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHR25LWAVIVV2L3XPHVQD4DWN2YOFANCNFSM6AAAAAATCLTVMM. You are receiving this because you were assigned.Message ID: @.***>
要不干脆弄个投票让他们选得了
From: sunxyw @.> Sent: Sunday, December 18, 2022 3:56:11 PM To: zhamao-robot/zhamao-framework @.>; zhamao-robot/zhamao-framework @.> Cc: sunxyw @.>; Assign @.***> Subject: Re: [zhamao-robot/zhamao-framework] 3.0 对于不同类型插件的支持和加载方式 (Issue #183)
我认为其实可以把两种方式统一为一种?以单文件为主。 关于加载问题,我们可以统一约定一种命名,例如以 Plugin 结尾,或者在 composer.json 内指定( extra 字段)。 如果用户希望以多文件进行开发,可以在原单文件中添加一个开关或选项。
本地引入或开发方面,我有两种想法: 提供一个加载插件的方法,参数为插件入口类,用户可以直接调用来加载。 用户在 composer.json 中通过添加 repositories 字段,将本地插件视为正常 Composer 插件使用。
这样的话应该可以较好地方便同时兼容本地和 Composer 插件?
我不太支持把 Source 视为插件,感觉会相当混乱。
From: Jerry @.> Sent: Sunday, December 18, 2022 2:55:30 PM To: zhamao-robot/zhamao-framework @.> Cc: sunxyw @.>; Assign @.> Subject: Re: [zhamao-robot/zhamao-framework] 3.0 对于不同类型插件的支持和加载方式 (Issue #183)
Assigned #183https://github.com/zhamao-robot/zhamao-framework/issues/183 to @sunxywhttps://github.com/sunxyw.
― Reply to this email directly, view it on GitHubhttps://github.com/zhamao-robot/zhamao-framework/issues/183#event-8063462840, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHR25LWAVIVV2L3XPHVQD4DWN2YOFANCNFSM6AAAAAATCLTVMM. You are receiving this because you were assigned.Message ID: @.***>
我其实个人并不太赞成啥都往composer.json里面塞,因为我觉得 Composer 最多就是管理依赖为主,一些自动化的东西也可以,如果什么元信息都写到 composer.json 会造成一定的混乱,而且有的插件单文件甚至根本不需要 autoload。
另,我觉得要么就全都要,单文件插件的入口文件,如果在 zmplugin.json 指定 main
字段,那就 require $meta['main']
,否则就依次尝试插件目录下的 main.php
、entry.php
。
多文件的话,就直接 autoload 下,然后将 plugins 子目录下的 autoload.psr-4
作为加载注解事件的文件夹?
我其实个人并不太赞成啥都往composer.json里面塞,因为我觉得 Composer 最多就是管理依赖为主,一些自动化的东西也可以,如果什么元信息都写到 composer.json 会造成一定的混乱,而且有的插件单文件甚至根本不需要 autoload。
另,我觉得要么就全都要,单文件插件的入口文件,如果在 zmplugin.json 指定
main
字段,那就require $meta['main']
,否则就依次尝试插件目录下的main.php
、entry.php
。多文件的话,就直接 autoload 下,然后将 plugins 子目录下的
autoload.psr-4
作为加载注解事件的文件夹?
可以
描述
插件支持
目前 3.0 计划首先支持 2 种插件和 3 种加载方式,为:
ZMPlugin
对象和插件名称的数组。./zhamao
启动文件所在的目录下的composer.json
内,将插件的目录包含在autoload.psr-4
下,即可自动加载,这种方式不算插件,只算框架源码的拓展模式,框架内部不计入为插件。疑问
zmplugin.json
文件,且必须指定入口文件名称?zmplugin.json
插件形式,因为我觉得 source 模式再支持插件形式会特别混乱?例子
No response