Skip to content

Commit fdd2441

Browse files
author
okonomi
committed
[ja] follow up advanced-installation section
1 parent 44b7e2a commit fdd2441

File tree

1 file changed

+99
-6
lines changed

1 file changed

+99
-6
lines changed

ja/installation/advanced-installation.rst

Lines changed: 99 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,106 @@
11
応用インストール
22
################
33

4+
PEARインストーラでCakePHPをインストール
5+
=======================================
6+
7+
CakePHPはあなたがPEARインストーラを使用してインストールできるようにPEARパッケージを公開しています。
8+
PEARインストーラでインストールすると、複数のアプリケーションでCakePHPライブラリを共有するのが簡単になります。
9+
PEARでCakePHPをインストールするには、次の手順を実行する必要があります::
10+
11+
pear channel-discover pear.cakephp.org
12+
pear install cakephp/CakePHP
13+
14+
.. note::
15+
16+
PEARでCakePHPをインストールするとき、システムによっては ``sudo`` が必要になります。
17+
18+
PEARでCakePHPをインストールした後、PEARが正しく設定されていれば、
19+
新しいアプリケーションを作成するために ``cake`` コマンドが使えるようになっています。
20+
CakePHPはPHPの ``include_path`` 上に配置されるので、とくに他の変更を行う必要はありません。
21+
22+
23+
ComposerでCekePHPをインストール
24+
===============================
25+
26+
Composerは、PHP 5.3以上向けの依存関係管理ツールです。
27+
これは、PEARインストーラが抱える問題の多くを解決し、いろんなバージョンのライブラリをシンプルに管理できるようにします。
28+
CakePHPはPEARパッケージを公開しているので、 `composer <http://getcomposer.org>`_ を使用してCakePHPをインストールすることができます。
29+
CakePHPをインストールする前に ``composer.json`` ファイルをセットアップしましょう。
30+
CakePHPアプリケーションのための composer.json ファイルは次のようになります::
31+
32+
{
33+
"name": "example-app",
34+
"repositories": [
35+
{
36+
"type": "pear",
37+
"url": "http://pear.cakephp.org"
38+
}
39+
],
40+
"require": {
41+
"pear-cakephp/cakephp": ">=2.3.4"
42+
},
43+
"config": {
44+
"vendor-dir": "Vendor/"
45+
}
46+
}
47+
48+
このJSONを ``composer.json`` としてプロジェクトのルートディレクトリに保存します。
49+
次に、composer.pharファイルをダウンロードしてきます。
50+
composerをダウンロードしたら、 CakePHPをインストールしましょう。
51+
``composer.json`` と同じディレクトリで次のコマンドを実行します::
52+
53+
$ php composer.phar install
54+
55+
composerの実行が終わると、ディレクトリ構造は次のようになっていると思います::
56+
57+
example-app/
58+
composer.phar
59+
composer.json
60+
Vendor/
61+
bin/
62+
autoload.php
63+
composer/
64+
pear-pear.cakephp.org/
65+
66+
さあ、アプリケーションのスケルトンの残りの部分を生成する準備ができました::
67+
68+
$ Vendor/bin/cake bake project <path to project>
69+
70+
デフォルトでは、 ``bake`` は :php:const:`CAKE_CORE_INCLUDE_PATH` をハードコードするようになっています。
71+
アプリケーションの移植性を高めるためには、 ``webroot/index.php`` を修正し、
72+
``CAKE_CORE_INCLUDE_PATH`` を相対パスに変更しましょう::
73+
74+
define(
75+
'CAKE_CORE_INCLUDE_PATH',
76+
ROOT . DS . APP_DIR . '/Vendor/pear-pear.cakephp.org/CakePHP'
77+
);
78+
79+
composerで他のライブラリをインストールしている場合は、
80+
オートローダーを設定してcomposerのオートローダーで起こる問題を回避してください。
81+
``Config/bootstrap.php`` ファイルに次の行を追加します::
82+
83+
// composerのautoloadを読み込み
84+
require APP . '/Vendor/autoload.php';
85+
86+
// CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する
87+
// https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照
88+
spl_autoload_unregister(array('App', 'load'));
89+
spl_autoload_register(array('App', 'load'), true, true);
90+
91+
これで、composerでインストールしたCakePHPが機能するCakePHPアプリケーションができました。
92+
ソースコードの残りの部分とcomposer.jsonとcomposer.lockファイルを保存しておいてください。
93+
94+
95+
複数のアプリケーションでCakePHPを共有する
96+
=========================================
97+
498
時には、CakePHPのディレクトリをファイルシステムの別な場所に配置したいと思う場合があるかもしれません。
599
共有しているホストの制限であったり、複数のアプリが同じCakeのライブラリを使うようにしたかったりする場合などです。
6100
このセクションでは、どうやってCakePHPのディレクトリをファイルシステム内に分散配置できるのかを説明します。
7101

8102
まず、Cakeアプリケーションには三つの主要な部分があることに注意しましょう:
9103

10-
11104
#. CakePHPのコアライブラリは、 /lib/Cakeの中にあります。
12105
#. アプリケーションコードは、/appの中です。
13106
#. アプリケーションのウェブルートは、通常、/app/webrootにあります。
@@ -39,21 +132,21 @@ CakePHPを次のような条件で動作させたいとします:
39132

40133
このようなセットアップの場合には、 webroot/index.phpファイル(つまり、この例では/var/www/mysite/index.php)が次のようになるよう、編集します::
41134

42-
// /app/webroot/index.php (一部分。コメントは取り除いてあります。)
43-
135+
// /app/webroot/index.php (一部分。コメントは取り除いてあります。)
136+
44137
if (!defined('ROOT')) {
45138
define('ROOT', DS . 'home' . DS . 'me');
46139
}
47-
140+
48141
if (!defined('APP_DIR')) {
49142
define ('APP_DIR', 'myapp');
50143
}
51-
144+
52145
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
53146
define('CAKE_CORE_INCLUDE_PATH', DS . 'usr' . DS . 'lib');
54147
}
55148

56-
ファイルパスの区切り文字には、スラッシュではなく ``DS`` 定数を使うようにお勧めします
149+
ファイルパスの区切り文字には、スラッシュではなく ``DS`` 定数を使うのがオススメです
57150
こうしておくと、間違った区切り文字による、ファイルが無いというエラーを防ぐことができ、コードをさまざまなプラットフォームで動くようにすることができます。
58151

59152
Apacheとmod\_rewrite(と.htaccess)

0 commit comments

Comments
 (0)