为你的项目依赖加星

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

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...