PHP-如何重写这个类的方法?

使用一个github接口的composer包. 其中有一个获取readme的接口少了一个参数[分支]. 如何在不改动代码的情况下来增加一个参数?

仓库地址php-github-api

方法位置-Repo.php

    /**
     * Get the readme content for a repository by its username and repository name.
     *
     * @link http://developer.github.com/v3/repos/contents/#get-the-readme
     *
     * @param string $username   the user who owns the repository
     * @param string $repository the name of the repository
     * @param string $format     one of formats: "raw", "html", or "v3+json"
     *
     * @return string|array the readme content
     */
    public function readme($username, $repository, $format = 'raw')
    {
        return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/readme', [], [
            'Accept' => "application/vnd.github.$format",
        ]);
    }

直接继承Repo类, 重新方法, new 类的时候要把 Client 对象传入.

<?php
namespace Base\Bl;
use Github\Api\Repo;
class GithubRepoBl extends Repo
{
    public function readme($username, $repository, $branches ='master', $format = 'raw')
    {
        return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/readme', ['ref' => $branches], [
            'Accept' => "application/vnd.github.$format",
        ]);
    }
}
use Base\Bl\GithubRepoBl;
use Github\Client;
class UserController extends Controller
{
    public function shareProject(Client $client)
    {
        $clientObj = new GithubRepoBl($client);
        $readme = $clientObj->readme('hellomjw', 'pedep', 'lavalite');

    }
}

ShaseX

ShaseX: 截图工具
工具下载: ShareX 七牛云-token生成

shasex与七牛云

配置参数

请求类型为:POST, 请求的URL,进入到七牛云管理中心->然后上传文件->F12-切换到网络即可找到.

token生成方法

下载好生成工具后:执行命令qiniutoken.exe -ak=[AccessKey] -sk=[SecretKey] -bk=[bucket]

方法一:界面配置

方法二:文件配置

{
  "Name": "qiniu",
  "DestinationType": "ImageUploader, FileUploader",
  "RequestType": "POST",
  "RequestURL": "https://upload-z0.qbox.me/",
  "FileFormName": "file",
  "Arguments": {
    "token": "自己计算的token",
    "key": "%y%yy%d%h%mi-%ra.png",
    "file": "$input$"
  },
  "ResponseType": "Text",
  "URL": "http://images.liuxuan.net/$json:key$"
}

使用记录

设置取色器-色值格式: 任务设置->工具 (默认格式: $r, $g, $b)

相关资料

转-配合使用ShaseX与七牛云

PHP十进制数字转换为26进制字母函数

导出数据至Excel的时候要知道对应的列, A1 B1 C1 但有时候可能并不知道到哪个一个才是终止的, 要随着数据的增加而增加,此时就需要数字转成对应Excel里的值.

function num2Letter($num) {
    $num = intval($num);
    if ($num <= 0)
        return false;
    $letterArr = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
    $letter = '';
    do {
        $key = ($num - 1) % 26;
        $letter = $letterArr[$key] . $letter;
        $num = floor(($num - $key) / 26);
    } while ($num > 0);
    return $letter;
}

转自文章