CodeZine(コードジン)

特集ページ一覧

Composerのプロジェクトを公開して使う

PHPパッケージ管理ツール「Composer」入門 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/09/05 14:00

目次

Packagistに公開する

 Packagistとは、Composerでデフォルトで使えるパッケージの登録サイトで、広く一般的に使えるよう公開できます。従って、プライベート用で指定したように、repositoriesでリポジトリのパスを指定せずに使用できます。また、アカウントを作成後、すぐに公開が可能で、非常に手軽です。

 ただし、Packagist自体にはソースを管理するリポジトリはなく、リポジトリのパスを登録します。一般的にはGithubを使うことが多いので、本稿でもGithubを使う前提で紹介します。

 まず、最初にGithubでリポジトリを登録しておきます。一般に公開する必要があるので、リポジトリは「Public」で作成する必要があります。続いて、Packagistのサイトにおいて、ログインしたら「Submit Packages」ボタンを押すと、図2のようにリポジトリパスを指定することができますので、そこにGithubの自分のリポジトリパスを指定します。

図2 packagistでの登録処理1
図2 packagistでの登録処理1

 続いて「Submit」ボタンを押せば、これだけで登録は終了です。登録が完了すると、図3のようにリポジトリ上のトップにあるcomposer.jsonの内容を反映した結果が表示されます。

図3 packagistでの登録処理2
図3 packagistでの登録処理2

 これまでと同様にcomposerのshowコマンドを使って確認してみます。今回は、Packagistに登録してあるのでcomposer.jsonがなくても確認ができます。

リスト11 Packagistに登録したパッケージのshowコマンドの結果
name     : coltware/xtable
descrip. : create table ddl from xml
keywords : database, xml
versions : dev-master
type     : library
license  : MIT
source   : [git] https://github.com/coltware/xtable.git 68c2817af8cb5dfc9b14328a57157877871fc1bd
dist     : [zip] https://api.github.com/repos/coltware/xtable/zipball/68c2817af8cb5dfc9b14328a57157877871fc1bd 68c2817af8cb5dfc9b14328a57157877871fc1bd
names    : coltware/xtable

autoload
psr-4
coltware\xtable\ => src/main

requires
php >=5.3.0

最後に

 初回のComposerを使ってプロジェクトで利用することから、最終回である今回でライブラリの公開までと一通りの流れを紹介しました。PEARなど利用者側にとっては、比較的容易に使えるライブラリ管理はあったものの公開までを考慮した環境はなかったのではないかと思います。しかしながら、ComposerによってPHPのライブラリの公開も非常に簡単になり、一般に公開せずに社内公開なども既存のバージョン管理のまま利用ができます。まずは、利用者にあった使い方から始められるので、これを機会にぜひチャレンジしていただけたらと思います。

参考資料



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:PHPパッケージ管理ツール「Composer」入門

著者プロフィール

  • WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。個人紹介主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしど...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5