ホームページ >バックエンド開発 >PHPチュートリアル >最初のPHPパッケージを構築する方法
ゼロからPHPパッケージを作成し、他のPHP開発者と共有したいですか?この依存関係管理ツールであるComposerは、このプロセスを簡単にします! Composerのおかげで、PHPにはトップパッケージエコシステムの1つがあります。 PHPパッケージを段階的に作成する方法を詳しく見てみましょう。
この記事は、主にPHP初心者(またはPHPパッケージライティング初心者)を対象としており、PHPパッケージをゼロから作成する方法を学ぶのを支援することを目的としています。
新しいPHPパッケージを作成するには、次のタスクが必要です。
composer.json
を作成して構成します
$ mkdir example-package $ cd ./example-package $ git init $ echo "/vendor/" >> .gitignore $ composer init $ git add . $ git commit -m"第一次提交" # 稍后您可以添加远程仓库并推送源代码コマンドは、プロジェクトをインタラクティブにセットアップし、パッケージ名、著者、ライセンスなどの値を設定し、パッケージの依存関係を検索するように導きます。あなたはあなたが好きなようにこの情報を記入することができますが、簡潔にするために、ここから始める場所があります:
composer init
{ "name": "laravelnews/feeds", "description": "获取Laravel-News.com的文章", "type": "library", "require": {} }
ローカルチェックアウトをGitHubのようなバージョン制御システムに接続する準備ができたら、リモートリポジトリを追加する手順に従うことができます。次のコマンドに似ている場合があります:
自動負荷の設定
git remote add origin git@github.com:laravelnews/example-package.git
フォルダーを使用して、サンプルパッケージのクラスを作成しましょう。
composer.json
src/
次に、lib/
ファイルを開き、src
キーを使用してオートローダーを構成します:
$ mkdir src/ $ touch src/Api.php
composer.json
キーのプロパティは、PHPネームスペースをフォルダーにマップします。フォルダーにファイルを作成すると、それらは
{ "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
$ 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
パーツにはテストに必要なパッケージが含まれています。これまでのところ、他のパッケージの依存関係を必要としない場合に発生する可能性のある
パッケージはありません。
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リポジトリの初期化、
composer.json
もっと学ぶ
パッケージをゼロから作成することについて段階的に学びましたが、GitHubを使用する場合は、組織または個人プロジェクトのテンプレートリポジトリを作成することをより速く実行できます。次の作曲家パッケージの出発点として使用できるコミュニティステラーパッケージフレームワークがいくつかあります:
以上が最初のPHPパッケージを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。