几天前看到一个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几秒才加一个星。