こんにちは、Nakaです。

Laravel で開発していると、「この処理、他のプロジェクトでも使っているな」と感じることがあります。そのたびにコピペで対応していると、

といった問題が出てきます。こうした共通処理をまとめる手段として、Laravel パッケージ化は非常に有効です。

この記事では、自社向け(プライベート)Laravel パッケージをゼロから実際に作成します。作成したパッケージを GitHub Token を使って別プロジェクトから Composer 経由で利用し、最後に GitHub Releases を使ったバージョン管理までを一通り体験します。

パッケージ開発の準備

Laravel パッケージ開発を始める前に、まずディレクトリ構成の準備と最小限のサンプルクラス作成を行います。


ディレクトリ構成

hello-package/
├──src/
│   └── HelloService.php
└── composer.json
laravel-project/
└ ...

1. src/HelloService.php

<?php

namespace Altplus\\HelloPackage;

class HelloService
{
    public function greet(string $name): string
    {
        return "Hello, {$name}!";
    }
}

単純に文字列を返すだけのクラスです。後で Laravel プロジェクトから呼び出して動作確認します。


2. composer.json