几天前看到一个Haskell项目:y-taka-23/thank-you-stars, 功能很简单,就是检查项目依赖,然后去 Github 加星。Github 搜了一下,发现很多语言都有类似的项目,但是 PHP 没有,所以自己撸了一个 PHP 版的:oraoto/thank-you-stars

原理

composer.json 里记录了项目的依赖:

"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.3.*",
    "predis/predis": "1.0.*"
},
"require-dev": {
    "phpunit/phpunit": "6.2"
}

包名和 Github 仓库名可能会不一样,所以先去 Packgist 找到对应的 Github 仓库:

$ curl https://packagist.org/search.json?q=laravel/laravel&per_page=1
{
  "results": [
    {
      "name": "laravel/laravel",
      "description": "The Laravel Framework.",
      "url": "https://packagist.org/packages/laravel/laravel",
      "repository": "https://github.com/laravel/laravel",
      "downloads": 5816206,
      "favers": 35260
    }
  ],
  "total": 24,
  "next": "https://packagist.org/search.json?q=laravel/laravel&page=2&per_page=1"
}

其中的 repository 就是仓库地址了,从里面截取出作者和仓库名就可以调用 Github 的加星接口了。

使用

还是直接看 Readme 好了,可能是网络问题吧,感觉很慢,10几秒才加一个星。


oraoto
5.4k 声望1.2k 粉丝

墙上芦苇,头重脚轻根底浅;