Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions install/composer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3678a6db126048bf052180c85577daab044759aa Maintainer: takaram Status: ready -->

<chapter xml:id="install.composer" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="chunk:false">
<title>Composer とサードパーティパッケージのインストール</title>

<sect1 xml:id="install.composer.intro">
<title>Composer 入門</title>
<simpara>
&link.composer; は PHP
用の依存管理ツールで、プロジェクトで利用するサードパーティのパッケージを定義し、
そのインストールと更新が簡単に行えるようになります。
Composer は PHP 組み込みの
<link linkend="language.oop5.autoload">クラスのオートロード機能</link>
と、 <link xlink:href="&url.packagist;">Packagist</link> のような PHP
パッケージのリポジトリ、そして共通のプロジェクト構造とコーディング規約を利用しています。
</simpara>
<simpara>
例えば、PHP アプリケーションやウェブサイトで <abbrev>UUID</abbrev>
を利用する必要がある場合、<link xlink:href="&url.rfc;4122">RFC 4122</link>
で定義された、広く知られていて使われている UUID の形式を実装した
<link xlink:href="&url.packagist.package;ramsey/uuid">Ben Ramsey の
<literal>ramsey/uuid</literal> パッケージ</link> を利用することができます。
</simpara>
<simpara>
簡単に言うと、<literal>composer.json</literal>
をプロジェクトに作成し、Composer を使って最新バージョンのパッケージをインストールし、
Composer のオートロードスクリプトを読み込むことでパッケージがコード内で利用可能となります。
詳細は <link xlink:href="&url.composer;doc/01-basic-usage.md">Composer の
"Basic Usage" ドキュメント</link> を参照してください。
</simpara>
<example>
<title>
一つのパッケージを依存に持つ <literal>composer.json</literal>
</title>
<programlisting role="javascript">
<![CDATA[
{
"require": {
"ramsey/uuid": "^4.7"
}
}
]]>
</programlisting>
</example>

</sect1>
</chapter>
21 changes: 20 additions & 1 deletion language/oop5/autoload.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ce3a2d381693ccbc10cc4a808c3eb853f3c85c9e Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: 22583751fbfdaa3eaa41aeb6470d1343f5cb2c78 Maintainer: hirokawa Status: ready -->
<!-- Credits: mumumu -->

<sect1 xml:id="language.oop5.autoload" xmlns="http://docbook.org/ns/docbook">
Expand Down Expand Up @@ -89,6 +89,25 @@ string(5) "ITest"
Fatal error: Interface 'ITest' not found in ...
*/
?>
]]>
</programlisting>
</example>
<example>
<title>Composerのオートローダーの利用</title>
<simpara>
&link.composer; は <literal>vendor/autoload.php</literal> ファイルを生成します。
これは Composer によって管理されているパッケージを自動的に読み込むよう設定されています。
このファイルを読み込むことで、これらのパッケージを追加の作業なしで利用できるようになります。
</simpara>
<programlisting role="php">
<![CDATA[
<?php
require __DIR__ . '/vendor/autoload.php';

$uuid = new Ramsey\Uuid\Uuid::uuid7();

echo "Generated new UUID -> ", $uuid->toString(), "\n";
?>
]]>
</programlisting>
</example>
Expand Down