Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在多个平台上自动更新一个PHP类?_Php_Github_Repository_Dry - Fatal编程技术网

如何在多个平台上自动更新一个PHP类?

如何在多个平台上自动更新一个PHP类?,php,github,repository,dry,Php,Github,Repository,Dry,假设我有一个php类存储在一个文件中。如果这个类用于位于不同主机上的多个项目,甚至由不同的用户使用,那么更新这个类将是一件非常痛苦的事情 我可以想象,这可以通过以下例程自动完成: PHP类或文件存储在单个存储库中 在每个使用此类的主机上,都应该有一个cron作业来测试此类或文件是否有任何更新 如果是,则此文件正在下载并替换现有文件 我可以自己做这一切,但我想应该有现成的解决方案。我的现有存储库(如github)可能具有此类功能或任何其他功能 问题: 我上面描述的场景是否最适合此功能 有现成的解决

假设我有一个php类存储在一个文件中。如果这个类用于位于不同主机上的多个项目,甚至由不同的用户使用,那么更新这个类将是一件非常痛苦的事情

我可以想象,这可以通过以下例程自动完成:

PHP类或文件存储在单个存储库中

在每个使用此类的主机上,都应该有一个cron作业来测试此类或文件是否有任何更新

如果是,则此文件正在下载并替换现有文件

我可以自己做这一切,但我想应该有现成的解决方案。我的现有存储库(如github)可能具有此类功能或任何其他功能

问题:

我上面描述的场景是否最适合此功能

有现成的解决方案吗?希望免费解决


使用rsync签入。rsync可用于跨多个系统复制文件/文件夹,并可从源系统触发以部署更改(如果有任何增量更改)。或者,如果类位于github或其他存储库系统中,则编写一个自动任务,定期执行更新。

我们用于管理依赖项,这些依赖项可以从私有存储库加载。在项目内部开发共享类,然后在composer.json中将其设置为下游项目的依赖项。更新包含共享文件的上游项目后,下游项目只需运行$composer update即可导入这些更改

您可以在composer.json中设置下游项目以指向上游项目,如下所示:


如果您在repo上使用标记,那么如果出于某种原因,您需要让某些项目使用不同版本的共享文件,您可以使用相应的dev master来替换dev。

有人能解释一下这个问题的错误吗?为什么它会被否决?没有做家庭作业。令人不快的
{
    "require": {
        "myname/myupstreamproject": "dev-master"
    },
    "repositories": [
         {
             "type": "git",
             "url": "git@github.com:myname/myproject.git"
         }
    ]
}