2016-02-25 40 views
0

林在PHP和IM试图让一个脚本谁将会创造新仓库,赶上了一份文件,我在我的电脑,并在这个新的存储库提交新的。这个脚本将在cmd中执行。我搜索github上的API和我已经下载任何文件夹下有一些文件,我安装了一些事情作曲家,但我不能在我的PHP创建github上的一个新的实例。Github的API与PHP

我不知道这事,我花两天时间在此,我不能写一个函数与GitHub的交谈。在github开发者的网站我什么都不懂,我真的需要这样做,而且我很迷茫。我使用PhpStorm 6.0.3。

我无法理解:

1中的API是一个有很多文件的文件夹?或者是在phpstorm中导入的图书馆?我怎么把这个放在phpstorm中,我可以获得方法并创建我的函数?

2-哪里获得与GitHub的API通话的方法呢?我在哪里可以看到他们?在github开发者中,我什么也不懂。

我看到了类似的问题,但不帮助我很多。 请帮我

编辑

我下载了一个API,我用的是作曲家要求,显然一切都很好,但是当我执行一些文件来测试API,同样的错误弹出。该程序不能找到项目中的一些文件,在同一个文件夹中。 例:PHP致命错误:接口 'Github上\阿比\ ApiInterface' 在d未找到:\ PHP-github上-API的主\ lib中\ Github上\阿比\ AbstractApi.php第15行

在anothers文件出现同样的错误,我把“使用” referecing,即时通讯试图使用这些文件,但不工作。例如:使用Github \ Api \ ApiInterface;

编辑

此代码将创建一个新的存储库吗?当我执行这段代码时,我得到上面的错误,类'Github \ Api \ AbstractApi'找不到,但是类在那里。

类回购扩展AbstractApi { 公共函数来创建( $名称, $描述= '', $主页= '', $公众= TRUE, $组织= NULL, $ hasIssues =假的, $ hasWiki =假, $ hasDownloads =假, $ teamId = NULL, $ autoInit =假 ){$ 路径!= NULL == $组织? 'orgs /'.$ organization。'/ repos':'user/repos';'

 $parameters = array(
     'name'   => $name, 
     'description' => $description, 
     'homepage'  => $homepage, 
     'private'  => !$public, 
     'has_issues' => $hasIssues, 
     'has_wiki'  => $hasWiki, 
     'has_downloads' => $hasDownloads, 
     'auto_init'  => $autoInit 
    ); 

    if ($organization && $teamId) { 
     $parameters['team_id'] = $teamId; 
    } 

    return $this->post($path, $parameters); 
} 

}

感谢,

约翰。

+0

这是一个广泛的问题。尝试缩小到你面临的问题。你在github文档中不理解的是什么? –

+0

谢谢,我编辑问题 –

+0

关于第一个问题,它看起来像你不知道[API](https://en.wikipedia.org/wiki/Application_programming_interface)是什么。总之,一个API可以被视为一个工具箱或一个服务,所以它不仅仅是一个包含大量文件的文件夹*,API是比你在代码中调用/使用的函数。 –

回答

0

我完成了我的脚本,一切都做得正确,对于我的明显问题抱歉,并感谢谁回答了我。我的代码:

<?php 

include "vendor/autoload.php"; 

$client = new \Github\Client(); 
$username = "JohannLucas"; 
$password = "mypassword"; 

$method = Github\Client::AUTH_HTTP_PASSWORD; 
//authenticate 
$client->authenticate($username, $password, $method); 

//Apagar Repositório 
//$client->api('repo')->remove('JohannLucas', 'teste'); 

//Criar Repositório 
$client->api('repo')->create('olamundo', 'Repositorio criado com o github api', 'http://my-repo-homepage.org', true); 

//Commit 

$committer = array('name' => 'JohannLucas', 'email' => '[email protected]'); 
$path = "teste.txt"; 
$commitMessage = "Commit do teste.txt"; 

$content = "Olá Mundo!"; 
$branch = "master"; 
$repo = "olamundo"; 

$fileInfo = $client->api('repo')->contents()->create('JohannLucas', 'olamundo', $path, $content, $commitMessage, $branch, $committer); 

print_r("Foi!"); 

谢谢!

约翰