前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php获取最新github仓库

php获取最新github仓库

作者头像
Innei
发布2021-12-28 14:37:29
1.1K0
发布2021-12-28 14:37:29
举报
文章被收录于专栏:静之森静之森

前天,我在写后端的时候,需要获取到最新的github个人仓库,然后我去搜索了一下,发现github有提供api,格式为https://api.github.com/users/$username/repos?page=1&per_page=6&sort=updated; 后面的参数根据自己需要可以修改,包括数量和时间。返回的是一个json,通过php解析,里面是几个数组,数组里面又是数组。那么我们可以把每个链接对应项目名字提取出来。把他构造成以下形式:

html

代码语言:javascript
复制
1<a href="url" target="_blank"> repo name</a>

COPY

首先造一个方法,用于获取github api的返回值。

php

代码语言:javascript
复制
1$repo_name = array();
2$repo_url = array();
3function get_data($username)
4{
5    $url = "https://api.github.com/users/" . $username . "/repos?page=1&per_page=6&sort=updated";
6    $ch = curl_init();
7// 设置URL和相应的选项
8    curl_setopt($ch, CURLOPT_URL, $url);
9    curl_setopt($ch, CURLOPT_HEADER, 0);
10    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');
11//return the transfer as a string
12    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
13    $json_string = curl_exec($ch);
14    curl_close($ch);
15    $data = json_decode($json_string, true);
16    foreach ($data as $each) {
17        global $repo_name, $repo_url;
18        $repo_name[] = $each['name'];
19        $repo_url[] = $each['html_url'];
20    }
21}

COPY

再用其他两个方法来回调repo name和repo url的数组。

php

代码语言:javascript
复制
1function get_repo()
2{
3    global $repo_name;
4    return $repo_name;
5}
6function get_url()
7{
8    global $repo_url;
9    return $repo_url;
10}

COPY

调用方法

php

代码语言:javascript
复制
1<?php get_data($this->options->g_name);
2$repo_name = get_repo();
3$repo_url = get_url();
4$all = array();
5$all = array_map(function($i1,$i2){
6	return '<a href="'.$i1.'" target="_blank">'.$i2.'</a>';
7}, $repo_url,$repo_name);
8foreach ($all as $item){
9   echo '<li>'.$item.'</li>';
10}
11?>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档