オープンソースプロジェクトに貢献:実用的なケース
この記事では、実用的なケースを通じてオープンソースプロジェクトにコードを提供する方法を詳細に説明します。ゲートキーパーライブラリを例として、カウント機能を追加し、プロジェクト所有者との通信、コード実装、テスト、プルリクエストの送信など、プロセス全体を徐々に実証します。
GateKeeper Libraryの紹介
GateKeeperは、ユーザー登録、認証、および認証のためのPHPライブラリです。これにより、メインアプリケーションから完全に切り離されるため、拡張と変更が容易になります。
カウント関数を追加
現在、データベース内のユーザーの総数を取得するには、GateKeeperが最初にすべてのユーザーレコードを取得し、次にSQLクエリをカウントするか、または手動で書き込む必要があります。これを改善するために、アダプターインターフェイスにカウント機能を追加して、ネイティブにし、将来他のデータベースエンジンを追加する準備をします。
ステップ1:プロジェクト所有者と通信
貢献を開始する前に、最初にプロジェクトの所有者と通信して、機能が計画されているかどうか、それが必要かどうかを確認します。通常、プロジェクトの問題でそれを提案することのみが可能です。
ステップ2:フォーク、クローン、テスト
最初に、自分のgithubリポジトリへのフォークプロジェクト。次に、クローンがローカルに移動し、依存関係をインストールしてテストを実行します。すべてのテストに合格する必要があります。その後、開発するための新しいブランチを作成します:
git clone <你的fork地址> cd gatekeeper composer install vendor/bin/phpunit
git checkout -b "feature-count"
GateKeeperは現在、MySQLデータベースのみをサポートしています。次のセクションを変更する必要があります
:抽象データソースクラスGatekeeper/DataSource
:実際の方法を含むmysqlデータソースDataSource/MySQL
:他の貢献者がカウント方法を追加する必要があることを知っているように、スタブを更新しますDataSource/Stub
新しいカウントプロセッサも必要です。 ステップ4:コード実装
ブロックを追加して、新しいカウントプロセッサに静的呼び出しを委任します。同時に、静的プロパティを更新します。 Gatekeeper::__callStatic
elseif
$actions
Psecio/Gatekeeper/Handler/Count.php
DataSourceとStubを変更します:
Psecio/Gatekeeper/DataSource/Stub.php
count
MySQLデータのカウント方法を実装します。ソース:
ステップ5:テスト
新しいプロジェクトを作成し、Composerを使用して変更されたGateKeeperライブラリをインストールし、テストを実行します。このテストでは、すべてのユーザーのカウント、条件に基づいてユーザーをカウントするなど、さまざまなシナリオをカバーする必要があります。
ステップ6:プルリクエストを送信
コードを独自のフォークリポジトリに送信し、プロジェクト所有者にコードレビューを送信するためのプルリクエストを作成します。
概要
この記事では、特定のケースを通じてオープンソースプロジェクトにコードを提供するプロセスを詳細に紹介します。このケースは比較的単純ですが、オープンソースプロジェクトに貢献するほとんどのステップをカバーし、オープンソースプロジェクトに参加したい開発者に適切なリファレンスを提供します。 テストと明確なコミュニケーションが貢献を成功させるための鍵であることを忘れないでください。以上がオープンソースへの貢献:ゲートキーパーのケーススタディの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。