Laravel拡張パッケージの開発、ローカルテスト、配布方法
4448 ワード
Laravel拡張パッケージの開発方法については、すでに多くの記事があります.しかし、多くの文章はあまりにも片面的で、完璧ではありません.そして、私が実際に拡張パッケージを開発している間に、多くの問題に遭遇しました.私は自分の開発経験と、出会った問題を記録して、みんなに共有しました.
拡張パッケージの開発
1.新規プロジェクトの作成、拡張パッケージ構成の初期化
まず、新しいLaravelプロジェクトを作成します.
composer create-project laravel/laravel laradmin -vvv
次に、このプロジェクトでディレクトリ
mkdir -p packages/angkee/laradmin
拡張パッケージディレクトリに入りcomposer構成を初期化
cd packages/angkee/laradmin
composer init
実行後、プロジェクトの下に
2.拡張パッケージの基本ディレクトリ、ファイルの作成
一般的には、次のファイルとディレクトリを作成します.
3.拡張パッケージcomposer構成の変更
次に、この拡張パッケージの
4.拡張パッケージの論理コードの作成
次に、
このとき、この拡張パッケージは開発されたもので、次にローカルインストール、テストを開始します.
拡張パッケージのローカルテスト
プロジェクトの下のcomposerを再修正します.jsonファイル
コマンドの実行:
composer dump-autoload
composer update
最後に、
この时、私达はブラウザを开いてこのプロジェクトにアクセスして、
拡張パッケージの公開
拡張パッケージの開発、テストが完了すると、この時点で
1.GitHubへのコードのコミット
まず、拡張パッケージのコードをGitHubに提出し、GitHubバージョンライブラリのアドレスを記録する必要があります.注意は
2.パッケージをPackagistに公開する
その後、Packagistの公式サイトにアクセスし、ログイン後、右上隅のSubmitボタンをクリックし、リリースウィザードに入ります.
このとき、GitHubバージョンライブラリのアドレスを
3.コード同期の設定
サービスを追加します.サービスリストでPackagistを選択し、主に2つのPackagist構成情報を入力します.
ユーザ名:注意Packagistのユーザ名Token:通信トークンDomain:記入不要
ここでTokenはPackagistの個人設定で取得する必要があります.
記入し終わって、提出した後、一度テストして、最初の同期を完成して、成功は情報を提示します.
Okay, the test payload is on its way.
Packagistに戻り、リフレッシュすると、同期メカニズムが有効になったことを示すプロンプトは表示されないはずです.その後、GitHubが変化するたびに、自動的に通知され、同期されます.
4.バージョン情報の設定
バージョンのデフォルトは
git tag 1.0.0
git push --tag
拡張パッケージがリリースされたばかりで、この時点でインストールすると、インストールパッケージのエラーが見つからない可能性があります.サーバーの同期を少し待つ必要があります.一般的には3-5分以上かかりますが、すべてが正常であれば、バージョンのヒントが表示され、インストールに成功します.
参考文献 Laravelの拡張プラグイン開発ガイド 人は私のために、私は人のために!コミュニティに独自のComponenterパッケージ を公開 Component&Laravelパッケージローカル開発
拡張パッケージの開発
1.新規プロジェクトの作成、拡張パッケージ構成の初期化
まず、新しいLaravelプロジェクトを作成します.
composer create-project laravel/laravel laradmin -vvv
次に、このプロジェクトでディレクトリ
packages/{your_name}/{your_package_name}
を作成するmkdir -p packages/angkee/laradmin
拡張パッケージディレクトリに入りcomposer構成を初期化
cd packages/angkee/laradmin
composer init
実行後、プロジェクトの下に
composer.json
ファイルが生成されます.{
"name": "angkee/laradmin",
"description": "Laradmin is a laravel package for can be generated fast backend management panel",
"license": "MIT",
"authors": [
{
"name": "angkee",
"email": "[email protected]"
}
],
"require": {}
}
2.拡張パッケージの基本ディレクトリ、ファイルの作成
一般的には、次のファイルとディレクトリを作成します.
angkee/laradmin
├── src #
├── tests #
├── README.md
├── composer.json
└── LICENSE
3.拡張パッケージcomposer構成の変更
次に、この拡張パッケージの
composer.json
ファイルを変更し、composer
の自動ロード構成と拡張パッケージのネーミングスペースを設定します.{
...,
"autoload": {
"psr-4": {
"Angkee\\Laradmin\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Angkee\\Laradmin\\Tests\\": "tests/"
}
},
...
}
4.拡張パッケージの論理コードの作成
次に、
AdminServiceProvider.php
、Admin.php
ファイルを作成します.app->singleton('admin', function () {
return new Admin;
});
}
}
このとき、この拡張パッケージは開発されたもので、次にローカルインストール、テストを開始します.
拡張パッケージのローカルテスト
AdminServiceProvider
をプロジェクトのconfig/appに追加する.php providers
配列'providers' => [
...,
Angkee\Admin\AdminServiceProvider::class,
],
プロジェクトの下のcomposerを再修正します.jsonファイル
{
"require": {
...,
"angkee/laradmin": "dev-master"
},
...,
"autoload": {
...,
"psr-4": {
...,
"Angkee\\Admin\\": "packages/laradmin/src/"
}
},
...
}
コマンドの実行:
composer dump-autoload
composer update
最後に、
routes/web.php
ファイルを修正します.Route::get('/', function () {
app('admin')->printRunning();
});
この时、私达はブラウザを开いてこのプロジェクトにアクセスして、
running
を表示して、おめでとうございます、成功しました!拡張パッケージの公開
拡張パッケージの開発、テストが完了すると、この時点で
Packagist
にリリースできます.1.GitHubへのコードのコミット
まず、拡張パッケージのコードをGitHubに提出し、GitHubバージョンライブラリのアドレスを記録する必要があります.注意は
HTTPS
です.2.パッケージをPackagistに公開する
その後、Packagistの公式サイトにアクセスし、ログイン後、右上隅のSubmitボタンをクリックし、リリースウィザードに入ります.
このとき、GitHubバージョンライブラリのアドレスを
Repository URL
入力ボックスに記入し、Submitコミットボタンをクリックすると、すべてが順調で、パブリケーションが成功したことがわかります.3.コード同期の設定
Pakagist
でパッケージがリリースされると、その後のバージョンの更新とコードの同期によって、GitHubのイベント通知サービスが保証され、コードの提出時にイベントがトリガーされ、コードを他の環境に同期するメカニズムがあります.サービスを追加します.サービスリストでPackagistを選択し、主に2つのPackagist構成情報を入力します.
ユーザ名:注意Packagistのユーザ名Token:通信トークンDomain:記入不要
ここでTokenはPackagistの個人設定で取得する必要があります.
記入し終わって、提出した後、一度テストして、最初の同期を完成して、成功は情報を提示します.
Okay, the test payload is on its way.
Packagistに戻り、リフレッシュすると、同期メカニズムが有効になったことを示すプロンプトは表示されないはずです.その後、GitHubが変化するたびに、自動的に通知され、同期されます.
4.バージョン情報の設定
バージョンのデフォルトは
dev-master
で、Componentパッケージのバージョン番号はGitのtagから同期します.git tag 1.0.0
git push --tag
拡張パッケージがリリースされたばかりで、この時点でインストールすると、インストールパッケージのエラーが見つからない可能性があります.サーバーの同期を少し待つ必要があります.一般的には3-5分以上かかりますが、すべてが正常であれば、バージョンのヒントが表示され、インストールに成功します.
参考文献