我作为Wordpress开发人员工作了很长时间,而且我在Laravel也有足够的经验……说实话,制作这种功能并不是那么困难.
怎么样?
首先,您必须了解您将要制作的Web应用程序将具有所有功能,但只能从前端启用/禁用它们(管理面板/仪表板).换句话说,您的学校管理系统应用程序实际上已预先安装了所有功能/功能,但您只是允许用户启用/禁用它.这更简单.
所以,如果是的话.如果您想提供某人的考勤管理功能,您必须向该站点的管理员提供启用/禁用它的权限.
为什么?
WordPress具有用于添加/更新插件的内置UI.但是在Laravel中,一切都是基于代码的,因此我认为这是最简单的方法(特别是在你的app中可以插件).
脚步
>使用UI等建立网站…
>创建一个配置和迁移文件,其中包含允许用户启用/禁用的所有插件的名称.
>创建一个同步命令,用于同步应用中的所有插件.
>使用它从前端渲染页面并从后端管理其状态(is_active等等…)
>现在,一旦这些插件处于活动状态,请确保用户(比如主持人,编辑)有权管理它们,为此您显然必须创建角色/权限并使用Laravel策略来处理这些内容.
>最后,只有管理员才会有启用/禁用写入而没有其他人.
对于您希望人们使用过滤器/操作执行自己的功能的其他部分.我说这与你说安装Laravel包不容易的部分完全矛盾.好吧,如果你真的想要一个开发人员进入这个,为什么不立即要求他们为你的应用程序单独制作一个包?嗯……想想看:)
但是,即使这样,如果你想创建这样的功能,创建一个用户可以调用的简单类,并使用它的函数来调用自己的函数……就像 – > SMSPlugin :: do_action().但是,再次,更新/删除插件等内容将要求您构建自己的插件存储并要求用户上传到它.那么你将不得不制作一个API来不断检查所有已安装的插件的更新,等等……这是一个非常漫长的过程…而且我认为这也不可行!
希望我回答一切.如果您有任何疑问,请在评论中告诉我:)