ホームページ >バックエンド開発 >PHPチュートリアル >PHPでgithub' s APIの使用方法
この記事では、一般的なタスクを自動化するためにPHPを使用してGitHub APIを活用することを調査します。重要な機能を示すLaravelアプリケーションを構築します
GitHub APIは、リポジトリ管理、タスクの自動化、ユーザーデータアクセスのための広範な機能を提供します。 PHPは、特定のAPIエンドポイントへのHTTP要求を介してそれと対話します。 多くのAPIエンドポイントにアクセスするには、
GithubApiRepositoryContents@show
GithubApiRepositoryContents@show
認証:
API相互作用の前に、認証が不可欠です。 必要なスコープ(たとえば、ユーザーメール、リポジトリの更新など)を指定して、GitHub設定で個人的なアクセストークンを作成します。 トークンをファイルに追加します:
(ユーザー名とパスワードの認証は、例示的な目的のみで表示され、一般的にセキュリティ上の理由で推奨されています。))
laravelのセットアップとバインディング:.env
<code>GITHUB_TOKEN=YOUR_ACCESS_TOKEN</code>Composerを介してknplabs Githubライブラリをインストールし、Laravelアプリケーションを構成します。 Githubクライアントを:
でバインドします
ルーティングとコントローラー:
アプリケーションの機能のルートをで定義します:bootstrap/app.php
<code class="language-php">$app->singleton('Github\Client', function () { $client = new Github\Client(); $client->authenticate(env('GITHUB_TOKEN'), null, Github\Client::AUTH_HTTP_TOKEN); return $client; });</code>
はAPIインタラクションを処理します。 サンプルメソッドを以下に示します:
routes/web.php
コア機能:
<code class="language-php">Route::get('/', 'GithubController@index')->name('index'); Route::get('/finder', 'GithubController@finder')->name('finder'); Route::get('/edit', 'GithubController@edit')->name('edit_file'); Route::post('/update', 'GithubController@update')->name('update_file'); Route::get('/commits', 'GithubController@commits')->name('commits');</code>
GithubController
__construct
<code class="language-php">class GithubController extends Controller { private $client; public function __construct(Github\Client $client) { $this->client = $client; } // ... other methods ... }</code>
アクションは、
アクションは、を使用してファイルとディレクトリのリストを取得します。
ファイルの編集とコミット:edit
アクションはファイルコンテンツ(base64デコード)を取得し、update
アクションは$this->client->api('repo')->contents()->update()
を使用して変更を保存します。
リストコミット:アクションは、を使用してコミット履歴を取得します。
commits
$this->client->api('repo')->commits()->all()
エラー処理:github APIクライアントがスローした例外をキャッチするために堅牢なエラー処理を実装してください。
結論:
Github APIは、プログラムでGithubと対話するための強力なツールを提供します。 この例は、基本的なアプリケーションを示しています。 Pagination、より洗練されたエラー処理、生産対応アプリケーションの入力検証などの機能の追加を検討してください。 GithubのAPIレート制限を常に尊重することを忘れないでください
RuntimeException
(元のFAQはよく書かれており、この書き直しには大幅な変更を必要としません。
以上がPHPでgithub&#x27; s APIの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。