Php Composer-使用Composer将所有文件和文件夹从文件夹移动到项目的根目录

Php Composer-使用Composer将所有文件和文件夹从文件夹移动到项目的根目录,php,composer-php,Php,Composer Php,我接到一位高级职员的请求,要求使用composer将所有已下载的Magento内容移动到根文件夹中。他想通过运行composer安装来自动化这个过程 下面是我为执行上述任务而编写的代码: { "repositories": [ { "type": "package", "package": { "name": "magent

我接到一位高级职员的请求,要求使用composer将所有已下载的Magento内容移动到根文件夹中。他想通过运行composer安装来自动化这个过程

下面是我为执行上述任务而编写的代码:

{
"repositories": [
    {
        "type": "package",
        "package": {
            "name": "magento",
            "type": "webroot",
            "version": "1.8",
            "dist": {
                "type": "zip",
                "url": "https://github.com/amacgregor/magento-1.8/archive/master.zip"
            },
            "require" : {
                "fancyguy/webroot-installer": "1.0.0"
            }
        }
    }
],
"require": {
    "magento": "1.8",
    "fancyguy/webroot-installer": "1.0.0"
},
"extra": {
    "webroot-dir": "public",
    "webroot-package": "magento"
},
"scripts": {
  "post-install-cmd": [
    "php -r \"shell_exec('cp -rf public/. .');\"",
    "php -r \"shell_exec('rm -rf public');\""
  ]
 }
}

如您所见,我将包下载到一个公共文件夹,然后使用composer脚本将它们移出。这个过程正确吗?如果我遵循这个过程,将来会不会妨碍项目?

您正在使用Composer shell命令启动PHP来执行shell命令。。。现在这已经接近电影《盗梦空间》中的四个关卡了。避免使用mv命令,因为最好先物理复制然后删除文件,使用两倍的存储空间,而不是更快地更改目录指针。谢谢您的评论。但我真的不明白你的评论会有什么结果。你有更好的方法来做同样的事情吗?我批评你使用php shell_execSTUFF而不是直接调用STUFF,以及没有使用mv命令来移动文件。我对composer是新手。我不知道这是有可能的。我试试看,然后再打给你。谢谢你的建设性批评。还有一个原因是我没有使用mv文件。我无法使用mv命令移动隐藏的文件。