File tree 2 files changed +69
-1
lines changed
2 files changed +69
-1
lines changed Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <!-- $Revision$ -->
3
+ <!-- EN-Revision: 3678a6db126048bf052180c85577daab044759aa Maintainer: takaram Status: ready -->
4
+
5
+ <chapter xml : id =" install.composer" xmlns =" http://docbook.org/ns/docbook" xmlns : xlink =" http://www.w3.org/1999/xlink" annotations =" chunk:false" >
6
+ <title >Composer とサードパーティパッケージのインストール</title >
7
+
8
+ <sect1 xml : id =" install.composer.intro" >
9
+ <title >Composer 入門</title >
10
+ <simpara >
11
+ &link.composer; は PHP
12
+ 用の依存管理ツールで、プロジェクトで利用するサードパーティのパッケージを定義し、
13
+ そのインストールと更新が簡単に行えるようになります。
14
+ Composer は PHP 組み込みの
15
+ <link linkend =" language.oop5.autoload" >クラスのオートロード機能</link >
16
+ と、 <link xlink : href =" &url.packagist; " >Packagist</link > のような PHP
17
+ パッケージのリポジトリ、そして共通のプロジェクト構造とコーディング規約を利用しています。
18
+ </simpara >
19
+ <simpara >
20
+ 例えば、PHP アプリケーションやウェブサイトで <abbrev >UUID</abbrev >
21
+ を利用する必要がある場合、<link xlink : href =" &url.rfc; 4122" >RFC 4122</link >
22
+ で定義された、広く知られていて使われている UUID の形式を実装した
23
+ <link xlink : href =" &url.packagist.package; ramsey/uuid" >Ben Ramsey の
24
+ <literal >ramsey/uuid</literal > パッケージ</link > を利用することができます。
25
+ </simpara >
26
+ <simpara >
27
+ 簡単に言うと、<literal >composer.json</literal >
28
+ をプロジェクトに作成し、Composer を使って最新バージョンのパッケージをインストールし、
29
+ Composer のオートロードスクリプトを読み込むことでパッケージがコード内で利用可能となります。
30
+ 詳細は <link xlink : href =" &url.composer; doc/01-basic-usage.md" >Composer の
31
+ "Basic Usage" ドキュメント</link > を参照してください。
32
+ </simpara >
33
+ <example >
34
+ <title >
35
+ 一つのパッケージを依存に持つ <literal >composer.json</literal >
36
+ </title >
37
+ <programlisting role =" javascript" >
38
+ <![CDATA[
39
+ {
40
+ "require": {
41
+ "ramsey/uuid": "^4.7"
42
+ }
43
+ }
44
+ ]]>
45
+ </programlisting >
46
+ </example >
47
+
48
+ </sect1 >
49
+ </chapter >
Original file line number Diff line number Diff line change 1
1
<?xml version =" 1.0" encoding =" utf-8" ?>
2
2
<!-- $Revision$ -->
3
- <!-- EN-Revision: ce3a2d381693ccbc10cc4a808c3eb853f3c85c9e Maintainer: hirokawa Status: ready -->
3
+ <!-- EN-Revision: 22583751fbfdaa3eaa41aeb6470d1343f5cb2c78 Maintainer: hirokawa Status: ready -->
4
4
<!-- Credits: mumumu -->
5
5
6
6
<sect1 xml : id =" language.oop5.autoload" xmlns =" http://docbook.org/ns/docbook" >
@@ -89,6 +89,25 @@ string(5) "ITest"
89
89
Fatal error: Interface 'ITest' not found in ...
90
90
*/
91
91
?>
92
+ ]]>
93
+ </programlisting >
94
+ </example >
95
+ <example >
96
+ <title >Composerのオートローダーの利用</title >
97
+ <simpara >
98
+ &link.composer; は <literal >vendor/autoload.php</literal > ファイルを生成します。
99
+ これは Composer によって管理されているパッケージを自動的に読み込むよう設定されています。
100
+ このファイルを読み込むことで、これらのパッケージを追加の作業なしで利用できるようになります。
101
+ </simpara >
102
+ <programlisting role =" php" >
103
+ <![CDATA[
104
+ <?php
105
+ require __DIR__ . '/vendor/autoload.php';
106
+
107
+ $uuid = new Ramsey\Uuid\Uuid::uuid7();
108
+
109
+ echo "Generated new UUID -> ", $uuid->toString(), "\n";
110
+ ?>
92
111
]]>
93
112
</programlisting >
94
113
</example >
You can’t perform that action at this time.
0 commit comments