ホームページ >バックエンド開発 >PHPチュートリアル >最初のPHPパッケージを構築する方法

最初のPHPパッケージを構築する方法

Karen Carpenter
Karen Carpenterオリジナル
2025-03-06 01:38:08589ブラウズ

How to  Build Your First PHP Package

ゼロからPHPパッケージを作成し、他のPHP開発者と共有したいですか?この依存関係管理ツールであるComposerは、このプロセスを簡単にします! Composerのおかげで、PHPにはトップパッケージエコシステムの1つがあります。 PHPパッケージを段階的に作成する方法を詳しく見てみましょう。

始めましょう


この記事は、主にPHP初心者(またはPHPパッケージライティング初心者)を対象としており、PHPパッケージをゼロから作成する方法を学ぶのを支援することを目的としています。

新しいPHPパッケージを作成するには、次のタスクが必要です。

    gitリポジトリを初期化
  • ファイルcomposer.jsonを作成して構成します
  • 依存関係のインストール
  • 自動負荷の設定
最初に空のgithubプロジェクトを作成してローカルでクローンすることができますが、新しいフォルダーを直接ローカルで作成し、プロジェクトを初期化してから、後でgithubにソースコードをプッシュします。

$ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码
コマンドは、プロジェクトをインタラクティブにセットアップし、パッケージ名、著者、ライセンスなどの値を設定し、パッケージの依存関係を検索するように導きます。あなたはあなたが好きなようにこの情報を記入することができますが、簡潔にするために、ここから始める場所があります:

composer init

パッケージの基本的な構成がありますが、あまり機能しません。パッケージがコアPHP言語のみを使用している場合、一部のパッケージでは依存関係は必要ありません。とにかく、パッケージユーザーがプロジェクトに関数とクラスをロードできるように、自動ロードをセットアップする必要があります。
{
    "name": "laravelnews/feeds",
    "description": "获取Laravel-News.com的文章",
    "type": "library",
    "require": {}
}

ローカルチェックアウトをGitHubのようなバージョン制御システムに接続する準備ができたら、リモートリポジトリを追加する手順に従うことができます。次のコマンドに似ている場合があります:

自動負荷の設定
git remote add origin git@github.com:laravelnews/example-package.git

BASIC を作成した後、ソースコードを作成し続けることができます。プロジェクトのソースコードをどこに保存するかを決定する必要があります。フォルダーは自由に名前を付けることができますが、典型的な「標準」は

または
です。作曲家は使用しているパスを気にしませんが、PSR-4を使用してファイルを自動的にロードするように作曲家に指示する必要があります。

フォルダーを使用して、サンプルパッケージのクラスを作成しましょう。 composer.json src/次に、lib/ファイルを開き、srcキーを使用してオートローダーを構成します:

$ mkdir src/
$ touch src/Api.php

composer.jsonキーのプロパティは、PHPネームスペースをフォルダーにマップします。フォルダーにファイルを作成すると、それらは"autoload"ファイルを作成します。学習している場合は、次のコードを

{
    "name": "laravelnews/feeds",
    "description": "获取Laravel-News.com的文章",
    "type": "library",
    "require": {},
    "autoload": {
        "psr-4": {
            "LaravelNews\Feed\": "src/"
        }
    }
}
に追加します

autoload.psr-4すぐに新しいクラスをどのように試してみますか? src

地元の作曲家依存を介して別のプロジェクトでこのパッケージを要求すること、さらにはコードをGitHubにプッシュし、パッケージでdev-mainを実行するなど、いくつかの方法があります。ただし、プロジェクトのルートディレクトリでcomposer updateファイルを作成することで試してみることもできます。 index.php

Composer's AutoLoaderを使用しました。これは、パッケージのファイルをロードする方法を知っています。作曲家がファイルを見つける方法を理解するためには、
$ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码

を実行する必要があります composer install

名前空間を
{
    "name": "laravelnews/feeds",
    "description": "获取Laravel-News.com的文章",
    "type": "library",
    "require": {}
}
に追加して、作曲家のオートローダーを更新した後、

コマンドを実行することもできます。 composer.json dump-autoloadファイルを実行すると、パッケージの使用をすばやく開始できますが、テストスイートを作成してコードの使用を開始することもできます。セットアップ方法を掘り下げましょう!

パッケージのテストと開発依存関係index.php

関与しているプロジェクトのテストを作成することをお勧めしますが、できるだけ早くテストをセットアップするのが好きです。 PHPパッケージを作成する際の最も一般的なテストフレームワークはPHPunitです。最近の私のお気に入りの選択はPest PHPです。セットアップが簡単だと思います。


Composerパッケージには、2つの要件があります。パッケージには、パッケージが実行されるのに必要なパッケージが含まれており、

パーツにはテストに必要なパッケージが含まれています。これまでのところ、他のパッケージの依存関係を必要としない場合に発生する可能性のある

パッケージはありません。

require独自のテストフレームワークをゼロから書きたくないとは思わないので、最初の開発依存関係をインストールしようとしています。また、リアルタイムのJSONエンドポイントに常にリクエストを行いたいとは限らないため、HTTP呼び出しをシミュレートするための模擬ライブラリ(mockery)もインストールします。 require-dev requireヒント:依存関係を整理するために、次の構成オプションを使用してパッケージソートを構成することをお勧めします。

害虫とock笑を設置した後、

フラグを介して害虫を初期化できます。ファイルを作成した後、コードをテストするために
git remote add origin git@github.com:laravelnews/example-package.git
を実行できます。

composer.jsonあなたはあなたが望むようにパッケージのテストを整理することができます、そして、私はあなたが害虫のセットアップの詳細については、害虫のドキュメントをチェックすることをお勧めします。

$ mkdir src/
$ touch src/Api.php
次に、パッケージテストを実証するために使用できるシンプルなクラスを作成しましょう。このクラスでは、Laravel News JSON Feedから最新の記事を入手し、最新の記事に戻ります。

--initこの架空のクラスに名前を付け、次のコンテンツを含むpestファイルに追加しました。

{
    "name": "laravelnews/feeds",
    "description": "获取Laravel-News.com的文章",
    "type": "library",
    "require": {},
    "autoload": {
        "psr-4": {
            "LaravelNews\Feed\": "src/"
        }
    }
}
依存関係として

クラスを取ることに注意してください。テストではock笑します。

次に、このファイルを

ファイルに作成し、次のテストを追加して

メソッドを確認します。

$ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码

これらのテストを実行して、コードが実行されて有効であることを確認できます。好きなように実行した後に作成されたサンプルテストを削除できます。 vendor/bin/pest pest --init GITリポジトリの初期化、

でPHPパッケージの構成、ソースコードとテストの追加、害虫で実行されること、多くのことをカバーしました。ここから、パッケージストにパッケージを投稿できます!

composer.jsonもっと学ぶ

サインアップして、パッケージの新しいバージョンをリリースするPackagist.orgのドキュメントをチェックすることをお勧めします。 Packagistでパッケージバージョンを更新するプロセスは自動化できます。つまり、パッケージの新しいバージョンにタグを付けると、Packagist.orgに自動的に表示されます。

パッケージをゼロから作成することについて段階的に学びましたが、GitHubを使用する場合は、組織または個人プロジェクトのテンプレートリポジトリを作成することをより速く実行できます。次の作曲家パッケージの出発点として使用できるコミュニティステラーパッケージフレームワークがいくつかあります:

以上が最初のPHPパッケージを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。