我有一个具有以下结构的项目:
- Root
- actions
- core
- other_dir_1
- other_dir_2
- vendor [created by composer]
- file1.php
- file2.php and so on
使用该项目时,他会在动作目录中查找"已安装"插件(基本上是具有特定结构的其他目录)。 我想给其他人提供创建自己的插件并导入项目的可能性。 我想要的是插件的核心文件将被复制到actions目录中,如果插件具有dependendy,那么这些文件将被复制到vendor目录中。
所以用户可以这样做:
git clone "myproject"
composer require otherVendor/actionOne
composer require otherVendor2/action3 and so on
我该怎么做?
P.S。需要是:
在根目录中,有一个类以这种方式使用:
$actionToRun = "CustomPlug";
$c = new WrapperClass($actionToRun);
$c->run();
WrapperClass将检查以下内容是否存在:"action/CustomPlug/CustomPlugAction.php"
如果存在则调用CustomPlugAction::run()
因此,我们的想法是让最终用户可以简单地调用"composer require othervendor/customAction"
(将插件的核心代码与所需的插件供应商分开),然后只需更改字符串即可启动插件
谢谢