こんにちは、Nakaです。
Laravel で開発していると、「この処理、他のプロジェクトでも使っているな」と感じることがあります。そのたびにコピペで対応していると、
といった問題が出てきます。こうした共通処理をまとめる手段として、Laravel パッケージ化は非常に有効です。
この記事では、自社向け(プライベート)Laravel パッケージをゼロから実際に作成します。作成したパッケージを GitHub Token を使って別プロジェクトから Composer 経由で利用し、最後に GitHub Releases を使ったバージョン管理までを一通り体験します。
Laravel パッケージ開発を始める前に、まずディレクトリ構成の準備と最小限のサンプルクラス作成を行います。
hello-package/
├──src/
│ └── HelloService.php
└── composer.json
laravel-project/
└ ...
hello-package : 作成する自社向け Laravel パッケージ
src/:パッケージの主要クラスを置く場所composer.json:パッケージ情報や依存を管理laravel-project:利用する側の Laravel プロジェクト。laravel/installer などで適切に作成してください。ここでは詳細は扱いません。src/HelloService.php<?php
namespace Altplus\\HelloPackage;
class HelloService
{
public function greet(string $name): string
{
return "Hello, {$name}!";
}
}
単純に文字列を返すだけのクラスです。後で Laravel プロジェクトから呼び出して動作確認します。
composer.json