这个问题困扰了我很长一段时间,我想创建一个 cms,一个更具体的学校管理系统,对我来说最重要的是使这个系统插件基于管理员可以下载的方式并直接通过他们的管理面板安装插件,就像 wordpress 一样。
现在我已经阅读了关于 wordpress Hooks、Actions和Filters的内容,老实说,我可以说我只是对它们的功能有点熟悉,但是要将相同的功能应用于Laravel 应用程序......,这有点难以想象出去,至少对我来说。
我也搜索过这个问题,发现几乎每个人都在建议包,但是虽然包对于其他想要使用包功能的开发人员来说非常有用,但它们不能被不熟悉的用户轻松安装编程语言,这正是我在我的应用程序中想要的。
现在我的想法到目前为止,就像在Wordpress 操作和过滤器中一样,几乎所有想要在 Wordpress 主题文件中使用的东西(使那段代码灵活地添加插件功能)都应该被称为函数,并调用它Wordpress do_action() 的函数是一种必经之路,这当然是有道理的。
这样,插件开发人员可以在他们的文件中调用 add_action() / add_filter() 并将他们的插件放入应用程序的流程中。所以...
基本上我在这里问的是:
- 如何将此类功能应用于 laravel 应用程序?
- 有没有比通过 do_action() 之类的函数调用所有内容更简单的方法?
- 我应该编写某种文件管理模块来下载和更新插件吗?
再说一次,我必须说我对实现这种功能的 wordpress 方法不是很熟悉,所以我上面提到的一些描述可能是错误的,但是如果可以的话,我很感激关于这个主题的任何澄清。
提前感谢您的任何见解。
*PS 我试图尽可能地清楚这个问题,而且我没有为我正在开发的系统寻找任何特定的方法。我想知道实现这种功能的常用/最佳方法(如果有最好的方法),最好是在 Laravel 中,但仍然非常感谢通用算法。
我知道很多人有同样的问题并且正在解决同样的问题,所以如果你只提供一个有用的文章的链接,那就太好了。*