2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

subtree 向けにディレクトリ分割したモジュールフォルダをcomposerで読み込む

Posted at

git subtree 便利です

本当に便利なのですが、subtreeからcomposerへの移行が面倒です。

subtree向けにディレクトリ分割したタイミングからcomposer対応しておきたいものです。

要は無駄にautoload追加しまくるのは何か嫌だって事です。

composer にはローカルディレクトリをリポジトリパスとして登録する機能があるのでその辺を使えばうまいこと行けそうです。

composer.json をいじる

composer.jsonに以下の記述を追加します。

    "repositories":[ 
        {
            "type":"path", "url" : "./subtree/mylib"
        },
    ],

ここで、subtree/mylib/composer.jsonを配置して適切なname,autoloadを設定すると、subtree/mylibがComposer ライブラリのリポジトリとして認識される様になります。

$ composer require acme/mylib:dev-master

バージョンに関してはgitのサブディレクトリでパスもブランチも無いので、常にdev-masterが有効です。

require するとvendorディレクトリ以下にシンボリックリンクが貼られます。

phpstorm などではシンボリックリンクが自動で更新サれないので、find usage とかのインデックスは若干ラグります。

定期的に読み込みを手動で入れてあげるといい感じです。

親プロジェクトにautoload入れまくって対応するより、移行面ではいささかマシだと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?